0

我试图用 Radiant CMS 建立一个简单的博客,但“归档月索引”有问题。我按照这个博客上的描述进行了设置,但我无法让它工作。

该代码与视频中使用的那个人相同。它的:

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

...而不是当月的索引页面。我只是想不出我如何将身体部分渲染两次。

4

1 回答 1

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>
于 2011-02-14T22:30:27.470 回答