辐射:“存档月索引”
-
12-10-2019 - |
题
我试图建立一个带有Radiant CM的简单博客,并在“存档月索引”上遇到问题。我将其设置为所描述的 博客 但是我只是无法工作。
该代码与视频ST中使用的人相同。它的:
<r:archive:children:each>
<div class="blog-post">
<h3><r:link /></h3>
<p>
<r:content />
</p>
</div>
</r:archive:children:each>
...用于存档索引。
但是,当我进入Post/2010/12网站(或其他任何日期)时,我会得到如此惊人
StandardTags::TagError in SiteController#show_page
Recursion error: already rendering the `body' part.
...而不是本月的索引页面。我只是想不出我是如何渲染身体两次的。
解决方案
我遇到了完全相同的问题。 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>
不隶属于 StackOverflow