问题描述
因此,如果我想在 Timber/Twig {% set prods_avail = post.product_items.stock_status == 'In Stock' | count %}
中获取“有货”(与我的产品帖子相关)的产品数量,我想遍历显示 =“的产品数量In Stock”,然后使用 {{ prods_avail }}
我正在使用 ACF 元字段,并且必须通过 product_items
的 Product post 字段进入相关的 post 字段,然后从选择下拉列表中查看字段 stock_status
的计算结果是否为 'In Stock'
。
例如,{% set prods_count = post.product_items | count %}
并使用 {{ prods_count }}
获取数组中的产品数量(在此示例中为 5
)
同样,这些是附加到(或相关)到主要帖子的 product_items
字段的产品:
product_item1 = 'In Stock'
product_item2 = 'In Stock'
product_item3 = 'No Stock'
product_item4 = 'No Stock'
product_item5 = 'In Stock'
我希望能够让我的变量输出 {{ prods_avail }}
值为 3
,这是“有货”的总产品
~感谢您的帮助!
解决方法
您可以使用过滤器 filter
减少集合{% set prods_avail = post.product_items|filter(v => v.stock_status == 'In Stock')|length %}
过滤器 filter
是在 twig v. 2.10 中添加的。所以如果这不可用(在木材中),您需要循环所有项目并创建一个计数器
{% set prods_avail = 0 %}
{% for product_item in post.product_items %}
{% if product_item.stock_status == 'In Stock' %}
{% set prods_avail = prods_avail + 1 %}
{% endif %}
{% endfor %}