如何从Twig收集数据?

时间:2019-02-26 19:11:40

标签: php symfony twig symfony4

例如,我在Twig中

{% customTag %}city1{% endCustomTag %}
{% customTag %}city2{% endCustomTag %}

或:

customFunction('city1')
customFunction('city2')

或:

 {{ 'city1' | customFilter }}
 {{ 'city2' | customFilter }}

例如,如何在控制器中从标签/功能/过滤器收集数据?我想接收控制器“ city1”和“ city2”。

我知道如何创建自定义标签,功能和过滤器,但是有什么方法可以从控制器或服务中的这些元素中获取所有数据?

1 个答案:

答案 0 :(得分:2)

我不确定您想要什么,但我会尝试一下。要将某些数据从树枝模板发送到Controller,我将在您的自定义标签中放置一个锚,并使用path函数,然后仅添加额外的信息。喜欢:

#let's say your controller method where you want to send data looks like
/**
 * @Route("/test", name="test")
 */
public function testAction(Request $request) {
    $param1 = $request->get('param1'); #will receive 'city1'
    $param2 = $request->get('param2'); #will receive 'city2'
}

#twig
{% customTag %}<a href="{{ path('test', { 'param1': 'city1', 'param2': 'city2'}) }}" style="pointer-events: none;">cities</a>{% endCustomTag %}

请注意,多余的信息是使用$ _GET从Twig发送到Controller的。