我正在构建一个页面,它将在页面加载列表中列出特定通道中的所有条目,就像任何其他页面一样。这里的诀窍是页面将是可过滤的,但只有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}
答案 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",
}
},
]);