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ş:
Nasıl ilerleme iletişim ve arka plan i...
Nasıl gıt sayısı işlemek için?...
Nasıl düğmeye tıklama Parçaları içinde...
Nasıl Git grep belirli bir kelime için...
Nasıl ASP.NET MVC form kutularını işle...