首页 > 解决方案 > 如何从 Twig 收集数据?

问题描述

例如,我在 Twig 中有:

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

或者:

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

或者:

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

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

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

标签: phpsymfonytwigsymfony4

解决方案


我不确定你想要什么,但我会试一试。要将一些数据从树枝模板发送到控制器,我会在您的自定义标签中放置一个锚点,并使用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 的。


推荐阅读