Question

J'essaie de mettre en place un blog simple avec Radiant CMS et ont un problème avec le « Archive Index mois ». Je l'ai mis en place comme il est décrit sur cette blog mais je ne peux pas le faire au travail.

Le code est le même que le gars dans la vidéo en utilisant st. Il est:

<r:archive:children:each>
  <div class="blog-post">
    <h3><r:link /></h3>
    <p>
      <r:content />
    </p>
  </div>
</r:archive:children:each>

... pour l'index des archives.

Cependant, quand je vais sur le site après / 2010/12 (ou toute autre date) que je reçois incroyable

StandardTags::TagError in SiteController#show_page
Recursion error: already rendering the `body' part.

... au lieu de la page d'index pour le mois. Je ne peux pas penser à ce que je suis rendu la partie du corps deux fois.

Était-ce utile?

La solution

J'ai eu exactement le même problème. De même les configurations de blog par défaut créés par le programme d'installation de Radiant.

Les pages de blog dans Radiant ressemble à quelque chose comme:

+ Articles (Archive)
  |
  +- %B %Y Archives (Archive Month Index)
  |
  +- First Post
  | 
  +- Second Post
  |  
  +- Third Post

Tout sous la page Articles semble être inclus dans les résultats retournés par <r:archive:children:each></r:archive:children:each>.

Cela signifie que si la page d'index et le premier poste ont été créés le 2 février 2011, l'URL / articles / 2011/02 / jetteront cette exception parce que la page d'index en cours de traitement pour générer une page avec une liste d'articles de février 2011 sera récursive tenter de se traiter.

La solution I est retrouvé en utilisant les balises <r:unless_self></r:unless_self> à vanner la page en cours de traitement (à savoir la page d'index) à partir des résultats de <r:archive:children:each></r:archive:children:each>.

Un exemple non plantage partie page body pour la page d'index ressemblerait à quelque chose comme ceci:

<r:archive:children:each order="desc">
  <r:unless_self>
    <div class="entry">
      <h3><r:link /></h3>
      <r:content />
    </div>
  </r:unless_self>
</r:archive:children:each>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top