繁体   English   中英

表达式引擎:将条目分成几组

[英]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>

divclass=entry_group之间的空格应该不会引起任何问题,但是如果这样做,您可能希望使用CSS来控制容器的属性,而不必在其上放置类(例如.entry_list>div{....entry_list>div .entry{...

我确实在Expression Engine论坛上找到了一个半解决方案 ,但是它要求对条目总数进行限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM