[英]Expression Engine: split entries into groups
快速提问:如何将给定通道中的所有条目输出为4组,如下所示:
<div class="entry_group">
<div class="entry" id="1"><span>{title}</span></div>
<div class="entry" id="2"><span>{title}</span></div>
<div class="entry" id="3"><span>{title}</span></div>
<div class="entry" id="4"><span>{title}</span></div>
</div>
<div class="entry_group">
<div class="entry" id="5"><span>{title}</span></div>
<div class="entry" id="6"><span>{title}</span></div>
<div class="entry" id="7"><span>{title}</span></div>
<div class="entry" id="8"><span>{title}</span></div>
</div>
提前致谢!
您可以尝试使用Modulo Operator插件通过任意数量的条目来实现此目的。 像这样:
{if count == "1"}
<div class="entry_group">
{/if}
{if '{exp:modulo dividend="{count}" divisor="4"}' == 0}
</div>
<div class="entry_group">
{/if}
<div class="entry" id="{count}"><span>{title}</span></div>
{if count == total_results}
</div>
{/if}
该插件仅适用于EE1,但是轻而易举地将插件从EE1转换为EE2。
我在ExpressionEngine论坛上找到了另一个简单得多的解决方案。 虽然相当基本,但我认为它应该可以轻松实现预期目标: http : //expressionengine.com/forums/viewthread/197240/#927740
它的本质是涉及使用{switch}变量在每n个条目组之后有选择地插入关闭和打开标记对,具体取决于您在开关中留下多少空白点。 在您的情况下,示例将如下所示:
<div class="entry_group">
{exp:channel:entries}
<div class="entry" id="{switch='1|2|3|4'}"><span>{title}</span></div>
{switch='|||</div><div class="entry_group">'}
{exp:channel:entries}
</div>
div
和class=entry_group
之间的空格应该不会引起任何问题,但是如果这样做,您可能希望使用CSS来控制容器的属性,而不必在其上放置类(例如.entry_list>div{...
和.entry_list>div .entry{...
我确实在Expression Engine论坛上找到了一个半解决方案 ,但是它要求对条目总数进行限制。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.