親エントリとその子エントリの両方を一覧表示する

私はエントリのリストを表示しようとしています。具体的には、親エントリとその子エントリです。

私はこれを使い始めました:

{% nav page in craft.entries.section('forms').isChildOf.slug('applicant-form') %}

    
  • {{ page.getLink() }} {% ifchildren %}

      {% children %}

    {% endifchildren %}

  •  
    
    {% endnav %}
    

    しかしこれは親だけを表示します。

    私はここでこのソリューションを見つけました。すべての子は表示されますが、親は表示されません。私は、これがCraftドキュメントの中にあるものよりも少し多く見えるので、これが子供を表示する最善の解決策であるかどうかも疑問です。

    どうもありがとう。

    {% set topLevel = (entry.level == 1) ? entry : entry.getAncestors().level(1).first()  %}
    
    {% if topLevel.hasDescendants %}
    
        
      {% set nav = topLevel.getDescendants() %} {% nav page in nav %}
      {% if page.id != entry.id %}

    • {{ page.getLink() }}
    • {%else%}

    • {{page}}
    • {%endif%} {% ifchildren %}

        {% children %}

      {% endifchildren %} {% endnav %}

    {% endif %}
    
    ベストアンサー

    これは修正された小枝のコードです。私は単に

  • アイテムとして {{entry.title}} を追加しました。このナビゲーションは、
    entry.title の表示が必要なページにのみ表示されます。

    {% set navList = (entry.level == 2) ? entry : entry.getAncestors().level(2).first()  %}
    
    {% if navList.hasDescendants %}
    
        
      {% set nav = navList.getDescendants() %}

    • {{ entry.title }}
    • {% nav page in nav %} {% if page.id != entry.id %}

    • {{ page.getLink() }}
    • {% else %}

    • {{page}}
    • {% endif %} {% ifchildren %}

        {% children %}

      {% endifchildren %} {% endnav %}

    {% endif %}
    
  • 返信を残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です