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

  • Bratayley

    Bratayley

    30 Aralık 2010
  • michellefeng's channel

    michellefeng

    26 Kasım 2006
  • RFS Dan

    RFS Dan

    22 Temmuz 2014