Loops twig从数组创建菜单项
在使用twig的Symfony 3.2中,我试图从数组中动态生成菜单项 数组:Loops twig从数组创建菜单项,loops,syntax,twig,template-engine,Loops,Syntax,Twig,Template Engine,在使用twig的Symfony 3.2中,我试图从数组中动态生成菜单项 数组: {% set links = { dashboard: { path: 'dashboard', title: 'Home' }, page1: { path: 'page1', title: 'Page1' }, page2: { path: 'page2', title: 'Page1' }, } %} 菜单项循环: {% for link i
{% set links = {
dashboard: { path: 'dashboard', title: 'Home' },
page1: { path: 'page1', title: 'Page1' },
page2: { path: 'page2', title: 'Page1' },
}
%}
菜单项循环:
{% for link in links %}
<li>
<a {% if app.request.attributes.get('_route') == link.path %}
class="active"
{% endif %}
href="{{ path('{{link.path}}') }}">{{ link.title }}
</a>
</li>
{% endfor %}
我收到一个错误,在呈现模板期间引发了一个异常,无法为命名路由{{link.path}生成URL,因为这样的路由不存在
对于路径{{link.path},我得到一个错误,哈希键必须是一个带引号的字符串、一个数字、一个名称或一个括在括号中的表达式。{in您在{{path]中已经有了{{。
在twig中,{{等于php函数echo。
这就像你已经在{{{{路径上了。
在twig中,{{等于php函数echo。
就像有问题一样
开发人员在将变量传递给Twig函数时收到错误消息。
解决方案
注意细枝表达式和模板占位符的语法
在函数内部声明时,细枝变量不需要使用花括号占位符语法进行转义。
示例:前后比较
之前
之后
问题
开发人员在将变量传递给Twig函数时收到错误消息。
解决方案
注意细枝表达式和模板占位符的语法
在函数内部声明时,细枝变量不需要使用花括号占位符语法进行转义。
示例:前后比较
之前
之后
您的小枝包含一些错误,请尝试以下操作
{% set links = [
{ "path": 'dashboard', "title": 'Home' },
{ "path": 'page1', "title": 'Page1' }
] %}
{% for link in links %}
<li>
<a
href="{{ path(link.path) }}">{{ link.title }}
</a>
</li>
{% endfor %}
您的类数组应该是可编辑的,因此请使用links=[…]
数组中的vars键应该被引用,因为您正在添加它们
如上所述,在path附近,您已经在一个块中,所以删除引用var和{{}的引号
最后,不是强制性的,一些枝节实现认为它是一个错误。
您的小枝包含一些错误,请尝试以下操作
{% set links = [
{ "path": 'dashboard', "title": 'Home' },
{ "path": 'page1', "title": 'Page1' }
] %}
{% for link in links %}
<li>
<a
href="{{ path(link.path) }}">{{ link.title }}
</a>
</li>
{% endfor %}
您的类数组应该是可编辑的,因此请使用links=[…]
数组中的vars键应该被引用,因为您正在添加它们
如上所述,在path附近,您已经在一个块中,所以删除引用var和{{}的引号
最后,不是强制性的,一些枝节实现认为它是一个错误。
这修复了它,我接受它是因为答案更清晰。@goto也有正确的答案,除了需要在路径中删除“”这修复了它,我接受它是因为答案更清晰。@goto也有正确的答案,除了需要在路径中删除“”这修复了它,除了需要在答案之上,除了需要在路径中删除“”这修复了它,以及在答案之上swer,除了需要将“”放在路径内 href="{{ path(link.path) }}">{{ link.title }}
{% set links = [
{ "path": 'dashboard', "title": 'Home' },
{ "path": 'page1', "title": 'Page1' }
] %}
{% for link in links %}
<li>
<a
href="{{ path(link.path) }}">{{ link.title }}
</a>
</li>
{% endfor %}