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

  • Excel Functions

    Excel Functi

    4 NİSAN 2010
  • Jeremy Gallman

    Jeremy Gallm

    11 NİSAN 2012
  • Rayone GB

    Rayone GB

    14 Temmuz 2007