通过 include in twig 和 slim 框架传递字符串变量
Passing string variables through include in twig and slim framework
我正在使用 Slim Framework 和 Twig。
我想通过使用部分来应用 DRY。我有一个在多个视图中重复使用的表单,其中包含不同的变量,例如标题和路线 (url) 名称。
我正在努力研究如何让它在 url 名称上工作。
例如,有一个 link 在视图中使用 ´urlFor´ 助手,参数如下:
<a href="{{urlFor('route.name', {parameter: value})}}">The link</a>
这就是我想传递给部分模板的 link 因为每个视图都不同,所以我想使用部分形式。我尝试了几种方法,但没有用。我不知道如何传递这个包含 '
的字符串 inside.
例如,我在 parent 视图中试过这样的局部调用:
{% include 'partials/partial.php' with {'theUrl': "urlFor('route.name', {parameter: value})"} %}
在部分内部是这样的:
<a href="{{theUrl}}">Show more</a>
它不起作用,因为在浏览器的 url 我看到以下内容:
http://myproject.dev/pages/urlFor('route.name',%20%7Bparameter:%201%7D)
看起来它没有被正确转义。使用 urlFor()
传递路由名称时,有什么办法可以解决这个问题吗?
没有最大的可能性进行测试,我想我发现了问题。您只是在字符串中添加函数,这不会给解析器解析方法的机会,因为它基本上只是一个字符串。
{% include 'partials/partial.php' with {'theUrl': "urlFor('route.name',{parameter: value})"} %}
应该是
{% include 'partials/partial.php' with {'theUrl': urlFor('route.name',{parameter: value})} %}
我正在使用 Slim Framework 和 Twig。
我想通过使用部分来应用 DRY。我有一个在多个视图中重复使用的表单,其中包含不同的变量,例如标题和路线 (url) 名称。
我正在努力研究如何让它在 url 名称上工作。
例如,有一个 link 在视图中使用 ´urlFor´ 助手,参数如下:
<a href="{{urlFor('route.name', {parameter: value})}}">The link</a>
这就是我想传递给部分模板的 link 因为每个视图都不同,所以我想使用部分形式。我尝试了几种方法,但没有用。我不知道如何传递这个包含 '
的字符串 inside.
例如,我在 parent 视图中试过这样的局部调用:
{% include 'partials/partial.php' with {'theUrl': "urlFor('route.name', {parameter: value})"} %}
在部分内部是这样的:
<a href="{{theUrl}}">Show more</a>
它不起作用,因为在浏览器的 url 我看到以下内容:
http://myproject.dev/pages/urlFor('route.name',%20%7Bparameter:%201%7D)
看起来它没有被正确转义。使用 urlFor()
传递路由名称时,有什么办法可以解决这个问题吗?
没有最大的可能性进行测试,我想我发现了问题。您只是在字符串中添加函数,这不会给解析器解析方法的机会,因为它基本上只是一个字符串。
{% include 'partials/partial.php' with {'theUrl': "urlFor('route.name',{parameter: value})"} %}
应该是
{% include 'partials/partial.php' with {'theUrl': urlFor('route.name',{parameter: value})} %}