I trying to set up a simple blog with Radiant CMS and have a problem with the “Archive Month Index”.
I set it up as it is described on this weblog but I just can’t get it to work.
The Code is the the same as the guy in the video st using. It’s:
<r:archive:children:each>
<div class="blog-post">
<h3><r:link /></h3>
<p>
<r:content />
</p>
</div>
</r:archive:children:each>
…for the Archive Index.
However when I go onto the post/2010/12 site (or any other date) I get that amazing
StandardTags::TagError in SiteController#show_page
Recursion error: already rendering the `body' part.
…instead of the Index Page for the month. I just can’t think of how I am rendering the body part twice.
I had exactly the same problem. So too do the default blog setups created by Radiant’s installer.
The blog pages in Radiant looks something like:
Everything under the Articles page seems to be included in the results returned by
<r:archive:children:each></r:archive:children:each>.This means that if the index page and the first post were created on Feb 02 2011, then the URL /articles/2011/02/ will throw this exception because the index page being processed to generate a page with a list of articles from Feb 2011 will recursively attempt to process itself.
The solution I wound up using is the
<r:unless_self></r:unless_self>tags to winnow the page being processed (i.e. the index page) from the results of<r:archive:children:each></r:archive:children:each>.An example non-crashing
bodypage part for the index page would look something like this: