让我说我的最新项目列表包含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 %}
这是我期待的图片
任何人都可以帮我纠正代码吗?
答案 0 :(得分:0)
直接,最好在扩展中完成,因为setcontent
旨在获取记录,而不是统计数据。
但你可以这样做:
{% setcontent items = 'items' nohydrate %}
{% set itemscount = items|length %}
这将为您提供变量itemscount
设置为该ContentType的记录总数。请注意上面第一行中的nohydrate
,这将加速数据库查找。