使用表达式引擎回显多个类别 ID

Echoing Multiple Category IDs with Expression Engine

我正在构建一个页面,该页面将在页面加载时像任何其他页面一样列出特定频道中的所有条目。这里的技巧是页面将是可过滤的,但仅 JavaScript/Jquery 允许用户在不刷新页面的情况下进行过滤。

我通过在 <li> 元素上使用数据标签进行过滤,然后根据选择 category/id 操作 DOM。但是,对于某些条目,它们在一个类别组中有多个选择,因此数据标签最终只有一个 id,以类别字段中的第一个为准 table.

我的问题是,是否可以使用基本形式的 EE 将多个 ID 回显到数据标签中,或者我是否需要 find/create 自定义插件才能执行此操作?

{exp:channel:entries channel="page-work-project" status="open"}
    <li {categories show_group="4"}data-category="{category_id "{/categories}>
        <a href="{url_title}">
            <div class="detail">
                <h4>{title}</h4>
            </div>
        </a>
    </li>
{/exp:channel:entries}

这里的问题是 {categories show_group="4"}data-category="{category_id "{/categories} 本身充当 for 循环。所以它呈现的代码实际上是 <li data-category="id1" data-category="id2" data-category="id3">,这是无效的 html.

相反,您应该将 {categories} 标记 放在 数据属性中,如下所示:

data-category="{categories show_group="4"} {category_id}- {/categories}"