Twig嵌套循环中的双输出

时间:2015-03-17 07:50:39

标签: json for-loop twig

我的数据来自以下格式的JSON文件:

{
  "primeNav": {
    "items": [
      {
        "text": "item",
        "url": "url1",
        "sub": [
          {
            "text": "subitem",
            "url": "url2",
          },
          {
            "text": "subitem2",
            "url": "url3",
          }
        ]
      }
    ]
  }
}

当我尝试做的时候:

<ul>
  {%- for item in primeNav.items -%}
    <li><a href={{ item.url }}>
      {{- item.text -}}
      {%- if item.sub -%}
        <ul>
          {%- for subItem in item.sub -%}
            <li><a href="{{ subItem.url }}">
              {{- subItem.text -}}
            </a></li>
          {%- endfor -%}
        </ul>
      {%- endif -%}
    </a></li>
  {%- endfor -%}
</ul>

我得到的输出是(没有空白):

<ul>
  <li>
    <a href="url1">item</a>
    <ul>
      <a href="url1"></a>
      <li>
        <a href="url"></a>
        <a href="url2">subitem</a>
      </li>
      <li>
        <a href="url"></a>
        <a href="url3">subitem2</a>
      </li>
    </ul>
  </li>
</ul>

由于某种原因,我无法将<a href="url"></a>打印在第二个ul内,并且每个孩子li以一种看似不合适的方式打印与我的模板保持一致。

任何想法都将不胜感激。

0 个答案:

没有答案