SORU
30 Kasım 2011, ÇARŞAMBA


İşlemek için Nasıl dal - ağaç

Belirsiz bir derinliği olan bir ağaç (çocuk çocuk vb...) işlemek istiyorum. Üzerinden dizi ardışık döngü gerekiyor, nasıl Dal içinde olabilir mi?

Saygılar, Ron

CEVAP
11 Aralık 2011, Pazar


Teşekkürler domi27, etrafında senin fikrin ile oynadım ve bu çıktı. Benim ağaç gibi iç içe geçmiş bir dizi yaptım, ['link']['sublinks'] null ya da daha başka bir dizidir.

Şablonlar

Alt şablon ile recurse dosya:

<!--includes/menu-links.html-->
{% for link in links %}
    <li>
        <a href="{{ link.href }}">{{ link.name }}</a>
        {% if link.sublinks %}
            <ul>
                {% include "includes/menu-links.html" with {'links': link.sublinks} %}
            </ul>
        {% endif %}
    </li>
{% endfor %}

Sonra ana şablon Ara bu tür gereksiz '' şeyler var):

<ul class="main-menu">
    {% include "includes/menu-links.html" with {'links':links} only %}
</ul>

Makrolar

Benzer bir etki makroları ile elde edilebilir:

<!--macros/menu-macros.html-->
{% macro menu_links(links) %}
    {% for link in links %}
        <li>
            <a href="{{ link.href }}">{{ link.name }}</a>
            {% if link.sublinks %}
                <ul>
                    {{ _self.menu_links(link.sublinks) }}
                </ul>
            {% endif %}
        </li>
    {% endfor %}
{% endmacro %}

Ana şablon bu:

{% import "macros/menu-macros.html" as macros %}
<ul class="main-menu">
    {{ macros.menu_links(links) }}
</ul>

Yardımcı olur umarım :)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AllYourNewsByMe

    AllYourNewsB

    18 Temmuz 2011
  • ChasesAndCrashes

    ChasesAndCra

    31 Temmuz 2009
  • Kanál používateľa McsFuego

    Kanál použ

    12 EKİM 2011