Twig中的PHP for循环

时间:2018-11-22 14:02:43

标签: php twig opencart

我在Twig中循环有一个小问题。 如何循环整个sub-nav?目前,它会将sub-nav中的sub-nav嵌套。

{% if categories %}
    {% for category in categories %}
    <ul class="sub-nav">
      <li>
        <a href="{{ category.href }}" class="cat-name">{{ category.name }}</a>

        <ul class="sub-sub-nav list-inline">
          {% if category.children %}
          <li class="list-inline">
            <a class="sub-cat-name" href="">{% for children in category.children|batch(category.children|length / category.column|round(1, 'ceil')) %}</a>
            <ul class="sub-cat-menu">
              {% for child in children %}
              <li><a href="{{ child.href }}">{{ child.name }}</a></li>
              {% endfor %}
            </ul>
            {% endfor %}</li>
          <a href="{{ category.href }}" class="see-all">{{ text_all }} {{ category.name }}</a>
        </ul>
        {% endif %}
      </li>
      {% else %}
      <li><a href="{{ category.href }}">{{ category.name }}</a></li>
    {% endfor %}
    </ul>

3 个答案:

答案 0 :(得分:1)

阅读转储后,一切正常 我认为您可以按如下所示编辑代码:

    {% if categories %}
    {% for category in categories %}
    <ul class="sub-nav">
      <li>
        <a href="{{ category.href }}" class="cat-name">{{ category.name }}</a>

        <ul class="sub-sub-nav list-inline">
          {% if category.children %}
          <li class="list-inline">
            <a class="sub-cat-name" href="">{% for children in category.children|batch(category.children|length / category.column|round(1, 'ceil')) %}</a>
            <ul class="sub-cat-menu">
              {% for child in children %}
              <li><a href="{{ child.href }}">{{ child.name }}</a></li>
              {% endfor %}
            </ul>
            {% endfor %}</li>
          <a href="{{ category.href }}" class="see-all">{{ text_all }} {{ category.name }}</a>
        </ul>
        {% endif %}
      </li>
      {% else %}
      <li><a href="{{ category.href }}">{{ category.name }}</a></li>
<!-- replace the end for  after the ul -->
    </ul>

  {% endfor %}

请在此处发表评论,以便我为您提供帮助

如果它不起作用,请尝试检查您的网页并从您的数据库中搜索随机名称,我所做的是在html输出中搜索您在数据库中具有的“ scanner”一词。 :)好锁

答案 1 :(得分:0)

您最后的G22822 184578924 G22822 158203981 and so on.. 标签应在endfor之后。

答案 2 :(得分:0)

在树枝中,非常重要的一点是正确关闭if语句和for语句...我尚未检查此代码是否正常运行,但可以...:)

{% if categories %}
    {% for category in categories %}
    <ul class="sub-nav">
      <li>
        <a href="{{ category.href }}" class="cat-name">{{ category.name }}</a>

        <ul class="sub-sub-nav list-inline">
          {% if category.children %}
          <li class="list-inline">
            <a class="sub-cat-name" href="">{% for children in category.children|batch(category.children|length / category.column|round(1, 'ceil')) %}</a>
            <ul class="sub-cat-menu">
              {% for child in children %}
              <li><a href="{{ child.href }}">{{ child.name }}</a></li>
              {% endfor %}
            </ul>
            </li>

          <a href="{{ category.href }}" class="see-all">{{ text_all }} {{ category.name }}</a>

        </ul>
       </li>
      {% else %}
      <li><a href="{{ category.href }}">{{ category.name }}</a></li>
    {% endif %}
    </ul>
{% endfor %}
{% endif %}