2016-03-24 10 views
0

bu benim seyir Shopify içinde yapıdır ki:sonra Shopify ana menü karşılaştırmak için kolu almak için koleksiyonun linklist alınıyor

  1. Ayakkabı

    1. Flats
    2. Sandalet
  2. Çantalar

Şu an için oldukça basit bir gezinme bileşeni çalışıyorum, bir sayfadaysanız (ayakkabı diyelim) sayfadaki gezinme vurgulanacaktır, çünkü menü tutamacı, sayfa tutamacıyla aynıdır. İyi şimdiye kadar:

{% for link in linklists.main-menu.links %} 
    <span><a 

      {% if collection.handle == link.handle %} 
       class="current" 
      {% endif %} 

    href="{{ link.url }}"> {{ link.title }}</a></span> 
{% endfor %} 

Şimdi soru, nasıl onunla alt koleksiyonu (Daire) kontrol ve aynıysa daha sonra aynı şeyi yapmak için ebeveyn koleksiyonum?

+0

Birisi "Flats" sayfasında olduğunda, hem "Ayakkabı" hem de "Flats" i vurgulamak istersiniz? – HymnZ

+0

Sadece ayakkabıları vurgulamak istiyorum – Majo0od

+0

Bunu deneyin - 'https: // css-tricks.com/parent-selectors-in-css /' – HymnZ

cevap

-1

Sen de dahili bağlantıları kontrol böylece bu koşul

{% if collection.handle == link.handle %} 
    class="current" 
{% endif %} 

ayarlamanız gerekir. Bu durum

{% assign sub_link = false %} 
{% assign inside_links_handle = link.handle %} 
{% for inside_link in linklists[inside_links_handle].links %} 
    {% if collection.handle == inside_link.handle %} 
     {% assign sub_link = true %} 
     {% break %} 
    {% endif %} 
{% endfor %} 

önce bu pasajı ekle Ve başka linklist (iç içe) içinde olan linklist içeride aradığınız İşte bu {% if collection.handle == link.handle or sub_link == true %} class='current' {% endif %}

için koşul olarak değiştirin. Daha fazla yuvalama seviyesi, sadece kodları içeride değerlendirmek için yineleyin. Bu çalışmalı.

+0

Her zaman yanlış geri dönüyor ... – Majo0od

+0

Eğer 'inside_links_handle'' shoes' olup olmadığını kontrol edebilir misiniz? – HymnZ