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

时间:2015-09-23 15:32:14

标签: php mysql expressionengine

我正在构建一个页面,它将在页面加载列表中列出特定通道中的所有条目,就像任何其他页面一样。这里的诀窍是页面将是可过滤的,但只有JavaScript / Jquery允许用户过滤而不刷新页面。

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

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

{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}

1 个答案:

答案 0 :(得分:3)

这里的问题是for充当<li data-category="id1" data-category="id2" data-category="id3">循环播放它自己。所以它呈现的代码实际上是{categories},这是无效的html。

相反,您应该将data-category="{categories show_group="4"} {category_id}- {/categories}"标记放在数据属性中,如下所示:

db.product.aggregate([ { $match : {categoryID : 4 } }, { "$group" : { "_id" : { "productID": "$productID", "articleID": "$articleID", "colour":"$colour", "set&size": { "sku" : "$skuID", "size" : "$size" }, }, } }, { "$group" : { "_id" : { "productID": "$_id.productID", "colour":"$_id.colour" }, "size": { "$addToSet" : { "sku" : "$_id.set&size.sku", "size" : "$_id.set&size.size" } }, } }, {"$project":{ "_id":0, "productID": "$_id.productID", "colour":"$_id.colour", "size":"$size", } }, ]);