Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops twig从数组创建菜单项_Loops_Syntax_Twig_Template Engine - Fatal编程技术网

Loops twig从数组创建菜单项

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

在使用twig的Symfony 3.2中,我试图从数组中动态生成菜单项

数组:

  {% 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 %}