辐射:“档案月指数”

时间:2010-12-21 15:46:10

标签: ruby-on-rails content-management-system blogs radiant

我尝试使用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.

...而不是本月的索引页面。我只是想不起我是如何两次渲染身体部位的。

1 个答案:

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