我对树枝很新,我知道可以在模板中添加值并将它们收集到变量中.但我真正需要的是在总结它们之前在模板中显示夏天的值.我需要像旧symfony中的插槽一样的东西.或者在php中我可以通过ob_start()来做到这一点.不知怎的,它可能在树枝上?
我会喜欢这样的东西.
sum is: {{ sum }} {# obviously it is 0 right here, but i want the value from the calculation #}
{# some content.. #}
{% set sum = 0 %}
{% for r in a.numbers}
{% set sum = sum + r.number %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
小智 11
您可以通过添加额外的过滤器来扩展树枝http://symfony.com/doc/current/cookbook/templating/twig_extension.html
在您的情况下,您可以使用array_sum函数:
public function getFilters()
{
return array(
new \Twig_SimpleFilter('sum', 'array_sum'),
);
}
Run Code Online (Sandbox Code Playgroud)
小智 6
如果您不想使用控制器并想在树枝中进行求和,则尝试使用set命令:
{# do loop first and assign whatever output you want to a variable #}
{% set sum = 0 %}
{% set loopOutput %}
{% for r in a.numbers}
{% set sum = sum + r.number %}
{% endfor %}
{% endset %}
sum is: {{ sum }}
{# some content.. #}
{{ loopOutput }}
Run Code Online (Sandbox Code Playgroud)
我认为循环位于特定位置,因为它旨在将某些内容输出到模板中,这使您可以重新排列加载顺序,同时仍按需要显示。
| 归档时间: |
|
| 查看次数: |
16065 次 |
| 最近记录: |