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

  • TheMasterOfHell100

    TheMasterOfH

    13 AĞUSTOS 2011
  • TokShogun

    TokShogun

    6 HAZİRAN 2009
  • UnboxTechnology

    UnboxTechnol

    20 Ocak 2011