我正在使用Slim Framework和Twig。
我想通过使用partials来应用DRY。我有一个表单,可以在几个视图中重复使用不同的变量,如标题和路由(url)名称。
我正在努力研究如何使用url名称。
例如,在视图中使用带有参数的'urlFor'帮助器的链接如下:
<a href="{{urlFor('route.name', {parameter: value})}}">The link</a>
这就是我想传递给部分模板的链接,因为它在每个视图中都不同,我想使用部分表单。我尝试了几种方法,但它不起作用。我不知道如何传递包含'
的字符串。
例如,我在父视图中尝试过这样的部分调用,如下所示:
{% 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()
传递路径名时如何解决此问题?
答案 0 :(得分:5)
没有最大的测试可能性我认为我发现了问题。您只是在字符串中添加函数,并且不会为解析器提供解决方法的机会,因为它基本上只是一个字符串。
{% include 'partials/partial.php' with {'theUrl': "urlFor('route.name',{parameter: value})"} %}
应该是
{% include 'partials/partial.php' with {'theUrl': urlFor('route.name',{parameter: value})} %}