2010-12-21 13 views
0

Ich versuche, ein einfaches Blog mit Radiant CMS einzurichten und habe ein Problem mit dem "Archive Month Index". Ich habe es so eingerichtet, wie es auf dieser weblog beschrieben ist, aber ich kann es einfach nicht zum Laufen bringen.Radiant: "Archive Month Index"

Der Code ist der gleiche wie der Typ im Video st. Es ist:

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

... für den Archivindex.

Jedoch, wenn ich auf die Post/2010/12 site (oder ein anderes Datum) Ich, dass erstaunlichen

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

... anstelle der Index-Seite für den Monat. Ich kann mir einfach nicht vorstellen, wie ich den Körperteil zweimal rendere.

Antwort

0

Ich hatte genau das gleiche Problem. Dies gilt auch für die Standard-Blog-Setups, die vom Radiant-Installationsprogramm erstellt wurden.

Die Blog-Seiten in Radiant sieht ungefähr so ​​aus:

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

Alles unter der Artikel-Seite scheint von <r:archive:children:each></r:archive:children:each> zurück in den Ergebnissen enthalten sein.

Dies bedeutet, dass wenn die Indexseite und der erste Beitrag am 02.02.2011 erstellt wurden, die URL/articles/2011/02/diese Ausnahme auslöst, da die Indexseite verarbeitet wird, um eine Seite mit einer Liste von zu generieren Artikel vom Februar 2011 werden rekursiv versuchen, sich selbst zu verarbeiten.

Die Lösung, die ich aufwickelte, ist die <r:unless_self></r:unless_self> Tags, um die Seite zu verarbeiten, die verarbeitet wird (d. H. Die Indexseite) von den Ergebnissen von <r:archive:children:each></r:archive:children:each>.

Ein Beispiel Nicht-Absturz body Seite Teil etwas wie dies für die Index-Seite aussehen würde:

<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>