OctoberCMS的Twig模板循环内累加price字段计算总价不生效问题咨询
问题原因
- 没有实现累加逻辑:循环内每次直接覆盖
price变量的值,而非在原有总和基础上叠加当前条目价格,最终变量只会保留最后一次循环的赋值结果,无法得到总和。 - 字段取值错误:你需要读取的是
Certfication模型的price字段值,无需调用.count方法(该方法通常用于统计关联数据的条目数量),直接取item.price即可。
修正后的代码
{% set price = 0 %} {% for item in certifications %} {% set price = price + item.price %} {% endfor %} {{ price }}
更简洁的实现方案
可以直接使用Twig内置的reduce过滤器完成累加,无需手动写循环:
{{ certifications|reduce((carry, item) => carry + item.price, 0) }}
内容的提问来源于stack exchange,提问作者Jakef19
相关产品推荐
相关产品推荐

