动态with_scope过滤器?

时间:2014-11-13 02:25:40

标签: liquid locomotivecms

我正在开发一个机车CMS网站,我正在寻找一种按类别动态列出帖子的方法。

例如,我有两个数据模型:帖子和类别

Posts数据模型具有与Category关联的belongs_to属性。我也对类别有一种模板化的看法。

我想做类似的事情:

{% with_scope category: category._slug %}
    {% for post in contents.post %}
        {{post.title}}
    {% endfor %}
{% endwith_scope %}

在模板化的类别页面上,但到目前为止它并没有返回任何结果,即使有这些类别的帖子。

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

在试图弄清楚这个问题的过程中,我也发现了这个悬而未决的问题。

这是一个解决方案:

// Iterate through all categories
{% for category in contents.categories %}

    // Assign the current iteration category to a variable
    {% assign loopCategory = category %}

    // with_scope the current iteration category
    {% with_scope category: loopCategory %}

        // Check if this category has been assigned to any content entries (posts, or 
        whatever else you might be classifying)
        {% if contents.posts != empty %}

            {% for post in contents.posts %}

                // display your post / content entry info

            {% endfor %}

        {% else %}

        {% endif %}

    {% endwith_scope %}

{% endfor %}

这将在标准页面上运行。我希望模板化的页面可能会有更多问题,但是我也需要实现这一点,以便在找到解决方案时更新我的​​答案。