我想使用一个部分树枝模板,在不同页面上创建品牌列表。问题是,在不同的情况下,我们想要链接到不同的路线。有些路线有一个额外的参数(可能不同),有些则没有。
因此,部分模板可能如下所示:
<ul>
{% for brand in brands %}
<li>
<a href="{{ path(route, {'brand': brand.name, (routeExtraParamName): routeExtraParamValue}) }}">{{ brand.name }}</a>
</li>
{% endfor %}
</ul>
这将是如何使用它:
{% include 'partials/brand_list.html.twig' with { "brands" : brands, "route" : "brand", "routeExtraParamName": "something", "routeExtraParamValue": "test" } only %}
但这不是很好。我们经常看到类似的问题,我们想要一个干净的界面接口,他们不应该知道使用它们的上下文。但是,诸如使用附加参数更改链接这样的简单任务会使事情变得更加困难。
您对更好的解决方案有什么想法吗?
答案 0 :(得分:0)
您可以定义包含所有路径参数的数组,并将其直接发送到您的部分模板中:
{% set params = {'param1': 'value1', 'param2': 'value 2', 'param3': 'value 3' %}
{% include 'partials/brand_list.html.twig' with { "brands" : brands, "route" : "brand", "route_params": params } %}