gpt4 book ai didi

php - 如何将参数传递给 Symfony2 Twig block ?

转载 作者:IT王子 更新时间:2023-10-28 23:49:57 25 4
gpt4 key购买 nike

我想在一个 twig block 中生成表格标题并在整个页面中重复使用它们,这个页面有大约 5 个不同的表格,标题大致相同。 block 代码是这样的:

{% block table_headers %}
<th>Fiscal Year</th>
<th>End Date</th>
<th>Period Length</th>
{% for item in result.FinancialStatements.COAMap.mapItem %}
{% if item.statementType == statementType %}
<th>{{ item._ }} ({{ item.coaItem }})</th>
{% endif %}
{% endfor %}
{% endblock %}

上面代码中最关键的一行是

{% if item.statementType == statementType %}

我想在渲染 block 的地方将 statementType 作为参数传递,如下所示:

{% render block.table_headers with {'statementType': 'INC'} %}

但这行不通。为了概念上的接近,我想将 block 及其渲染保留在同一个文件中(但不同的 block )。

甚至可以使用这样的 block 吗?我查看了 Symfony2 文档,但找不到任何建议可以这样做的内容,但对我来说, block 的使用似乎很明显。

最佳答案

现在使用 Symfony v2+(3、4 和 5,从 Twig v1.28.0 开始),我们可以使用 withblock() 函数上使用自定义模板关键词:

{% with {
'myVar1': myValue1,
'myVar2': myValue2
}
%}
{{ block('toolbar', myTemplate) }}
{% endwith %}

提交:https://github.com/twigphp/Twig/commit/02b084e2f5c3119604b1c0da388dd2438a012191

关于php - 如何将参数传递给 Symfony2 Twig block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6068516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com