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

  • Bucky Roberts

    Bucky Robert

    9 HAZİRAN 2011
  • DigitalRev TV

    DigitalRev T

    30 AĞUSTOS 2007
  • Nickcidious

    Nickcidious

    6 HAZİRAN 2011