SORU
29 Ocak 2012, Pazar


Jekyll ile navigasyon menü sıralanmış ve Sıvı

Statik bir site (blog) Jekyll/Sıvı ile inşa ediyorum. Bu otomatik olarak oluşturulan tüm varolan sayfalar ve vurgulamak listeleyen bir navigasyon menüsü geçerli sayfa olsun istiyorum. Öğeleri belirli bir sırada menüye eklenmelidir. Bu nedenle, ben, bu sayfada YAML: . weight bir özellik tanımlamak

---
layout : default
title  : Some title
weight : 5
---

Navigasyon menüsünde aşağıdaki gibi inşa edilmiştir

<ul>
  {% for p in site.pages | sort:weight %}
    <li>
      <a {% if p.url == page.url %}class="active"{% endif %} href="{{ p.url }}">
        {{ p.title }}
      </a>
    </li>
  {% endfor %}
</ul>

Bu mevcut tüm sayfalara bağlantılar oluşturur, ama sıralanmamış onlar, sort filtre göz ardı gibi görünüyor. Belli ki, bir şeyler yanlış yapıyorum ama ne olduğunu çözemedim.

CEVAP
3 ŞUBAT 2012, Cuma


Tek seçenek çift döngü kullanmak gibi görünüyor.

<ul>
{% for weight in (1..10) %}
  {% for p in site.pages %}
    {% if p.weight == weight %}
      <li>
        <a {% if p.url == page.url %}class="active"{% endif %} href="{{ p.url }}">
          {{ p.title }}
        </a>
      </li>
    {% endif %}
  {% endfor %}
{% endfor %}
</ul>

Çalışması lazım, çok çirkin. Eğer siz de bir kilo olmadan sayfaları varsa, ek bir iç döngü sadece/önce {% unless p.weight %} dahil mevcut iç bir sonra olacak.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jorrit Jongma

    Jorrit Jongm

    17 Ocak 2008
  • The Onion

    The Onion

    14 Mart 2006
  • Virtual Riot

    Virtual Riot

    19 Mayıs 2011