我尝试使用Radiant CMS设置一个简单的博客,并且“存档月份索引”存在问题。 我按照weblog的描述对其进行了设置,但我无法让它发挥作用。
该代码与视频使用中的代码相同。它是:
<r:archive:children:each>
<div class="blog-post">
<h3><r:link /></h3>
<p>
<r:content />
</p>
</div>
</r:archive:children:each>
...用于档案索引。
然而,当我进入帖子/ 2010/12网站(或任何其他日期)时,我得到了那个惊人的
StandardTags::TagError in SiteController#show_page
Recursion error: already rendering the `body' part.
...而不是本月的索引页面。我只是想不起我是如何两次渲染身体部位的。
答案 0 :(得分:0)
我有完全相同的问题。 Radiant安装程序创建的默认博客设置也是如此。
Radiant中的博客页面如下所示:
+ Articles (Archive)
|
+- %B %Y Archives (Archive Month Index)
|
+- First Post
|
+- Second Post
|
+- Third Post
“文章”页面下的所有内容似乎都包含在<r:archive:children:each></r:archive:children:each>
返回的结果中。
这意味着如果索引页面和第一篇文章是在2011年2月2日创建的,则URL / articles / 2011/02 /将抛出此异常,因为正在处理索引页面以生成包含文章列表的页面从2011年2月起将递归尝试处理自己。
我最后使用的解决方案是<r:unless_self></r:unless_self>
标签,用于从<r:archive:children:each></r:archive:children:each>
的结果中获取正在处理的页面(即索引页面)。
索引页面的非崩溃body
页面部分示例如下所示:
<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>