Bolt CMS Twig - 在满足特定条件后如何呈现总项目计数按钮

时间:2016-02-25 14:48:25

标签: symfony twig bolt-cms

让我说我的最新项目列表包含contenttypes items,我的bolt hompage网站是我从index.twig中的代码中获得的:

{% setcontent latestitems = 'items/latest/8' %}

然后我用for函数迭代它,这样我得到一个项目列表。

{% for item in latestitems %}
  ...
{% endfor %}

然后我想在项目列表的底部添加一个按钮,如果bolt数据库中的项目数量大于8,文本在按钮内:"读取另一个xxx项目"其中xxx是在最新项目中减去总项目后的项目总数(在这种情况下为8)。如果数据库中的总项目小于8,则不会显示。

我的问题是什么代码可以使这种方法有效?我将此代码用于使用length过滤器的当前模板,但仍然无效:

{% if items|length > 8 %}
  <button>Read another {{ items|length - 8 }} items</button>
{% endif %}

这是我期待的图片

picture

任何人都可以帮我纠正代码吗?

1 个答案:

答案 0 :(得分:0)

直接,最好在扩展中完成,因为setcontent旨在获取记录,而不是统计数据。

但你可以这样做:

{% setcontent items = 'items' nohydrate %}
{% set itemscount = items|length %}

这将为您提供变量itemscount设置为该ContentType的记录总数。请注意上面第一行中的nohydrate,这将加速数据库查找。