PHP для цикла в Twig - PullRequest
       21

PHP для цикла в Twig

0 голосов
/ 22 ноября 2018

У меня небольшая проблема с зацикливанием в 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 голосов
/ 23 ноября 2018

после прочтения вашего дампа, все в порядке, я думаю, вы должны отредактировать свой код, как показано ниже:

    {% 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-выводу слова «сканер» и т. д., что у вас есть в вашей базе данных.:) хороший замок

0 голосов
/ 23 ноября 2018

В ветке очень важно правильно закрыть 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 %}
0 голосов
/ 23 ноября 2018

Ваш последний endfor тег должен быть после </ul>.

...