我收到了包含内容的“Data / .List”文件:
<!-- SubList 1 -->
{embed="Element/.ListThumb" e_id="1" e_cat="cat1" e_name="A"}
{embed="Element/.ListThumb" e_id="2" e_cat="cat2" e_name="B"}
{embed="Element/.ListThumb" e_id="3" e_cat="cat3" e_name="C"}
{embed="Element/.ListThumb" e_id="4" e_cat="cat1|cat3" e_name="D"}
<!-- SubList 2 -->
{embed="Element/.ListThumb" e_id="11" e_cat="cat2" e_name="E"}
{embed="Element/.ListThumb" e_id="12" e_cat="cat3" e_name="F"}
{embed="Element/.ListThumb" e_id="13" e_cat="cat1|cat3" e_name="G"}
{embed="Element/.ListThumb" e_id="14" e_cat="cat1|cat2" e_name="H"}
并且在索引中我想嵌入并渲染过滤后的元素:
{exp:channel:entries channel="categories"}
<section>
{name}
{embed="Data/.List" e_cat="{id}"}
</section>
{/exp:channel:entries}
我想实现:
组别: A,D,G,H
类别2: B,E,H
类别3: C,D,F,G
我无法更改数据/ .List
那么我怎样才能实现这个结果或者我应该寻找哪个查询解决方案(尝试过:“ee conditional embed”,“static embed”,“filter embed”)
我正在使用频道轻松添加带有“订单”字段的新类别
频道类别使用id字段(例如“cat1”)
Data / .List对我来说就像“行文件”,
所以我会编写简单的脚本来解析它像这样的文件
{if embed:cat == "cat1"}
{embed="Element/.ListThumb" e_id="1" e_cat="cat1" e_name="A"}
{embed="Element/.ListThumb" e_id="4" e_cat="cat1|cat3" e_name="D"}
{embed="Element/.ListThumb" e_id="13" e_cat="cat1|cat3" e_name="G"}
...
{/if}
{if embed:cat == "cat2"}
{embed="Element/.ListThumb" e_id="2" e_cat="cat2" e_name="B"}
...
答案 0 :(得分:0)
假设索引中的{id}是在Data / .List ...
中指定的e_id{exp:channel:entries channel="categories"}
<section>
{name}
{if id == 1}
{embed="Element/.ListThumb" e_id="{id}" e_cat="cat{id}" e_name="A"}
{if:elseif id == 2}
{embed="Element/.ListThumb" e_id="{id}" e_cat="cat{id}" e_name="B"}
{if:elseif id == 3}
{embed="Element/.ListThumb" e_id="{id}" e_cat="cat{id}" e_name="C"}
{if:elseif id == 4}
{embed="Element/.ListThumb" e_id="{id}" e_cat="cat1|cat3" e_name="D"}
{if:elseif id == 11}
{embed="Element/.ListThumb" e_id="{id}" e_cat="cat2" e_name="E"}
{if:elseif id == 12}
{embed="Core/.ListThumb" e_id="{id}" e_cat="cat3" e_name="F"}
{if:elseif id == 13}
{embed="Core/.ListThumb" e_id="{id}" e_cat="cat1|cat3" e_name="G"}
{if:elseif id == 14}
{embed="Core/.ListThumb" e_id="{id}" e_cat="cat1|cat2" e_name="H"}
{/if}
</section>
{/exp:channel:entries}
因此绕过您提到的模板无法更改,因为无法避免或更改它而无法提供您想要的内容。
如果这个答案仍然不符合您的要求,我们需要更多关于最终目标和数据结构的信息,因为我认为目前的方法是问题,因为它有太多基本问题...... / p>
为什么不使用关系?
为什么你有一个名为“类别”的频道而不是使用原生类别?
你有一个名为类别的频道,但是你很难对模板中的e_cat进行编码 - 这个值肯定应该是类别数据的一部分吗?
为什么不能更改Data / .List?这是导致所有问题的模板!
是否打算将不同的模板组与Element和Core一起使用,或者这是一个错误?