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

  • Mark Brown

    Mark Brown

    9 HAZİRAN 2010
  • RogerBuckChrist

    RogerBuckChr

    9 Temmuz 2011
  • FF Radioo

    FF Radioo

    14 ŞUBAT 2007