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

  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • Exalto_Gamer

    Exalto_Gamer

    15 EKİM 2014
  • SRC RECORDS

    SRC RECORDS

    2 EKİM 2006