表达引擎 - 对于委托列表,只显示树中的最后一个类别?

时间:2011-11-22 09:49:45

标签: categories expressionengine

我有这样的类别结构:

cat1
cat2
-catA
-catB
cat3

对于条目列表我显示每个条目的类别名称: {categories show_group =“1”} {category_name} {/ categories}

如何将类别名称限制为仅在有多个时显示树中的最后一个? EG如果条目是'cat2'和'catA'的一部分,我只想要'catA'来显示。

由于

更新 - 我尝试了以下但是total_results返回条目数,而不是每个条目的类别数。

{exp:channel:entries channel="news|blog" category="<?php echo $cat_id ?>" orderby="date" sort="desc" disable="member_data|pagination" dynamic="no"}
    {categories show_group="1"}{if count == total_results}{category_name}{/if}{/categories}     
{/exp:channel:entries}

1 个答案:

答案 0 :(得分:1)

有效的方法是编写SQL查询以获得您想要的值。效率低但容易的方法是隐藏除最后一个之外的所有结果。

{!-- requires PHP parsed on output --}
<?php $lastCat = ""; ?>
{categories}
    <?php $lastCat = "{category_name}"; ?>
{/categories}
<?php echo $lastCat; ?>

{categories}标签对不支持{count}和{total_results}。您可以使用PHP替换。

低效率是否足够好取决于您拥有的类别数量以及页面的缓存效率。