Grav テーマのカスタマイズ(メニュー回り)

前回に続いてLearn2テンプレートのカスタマイズです。

今回はメニュー回り。

ページタイプとしてchapter、blogの二つがありどちらもナビゲーションメニューに表示させてるのですが、理想としては、chapterの場合は配下のdocsページが階層表示され、blogの場合は配下を表示させないという風にしたいわけです。

blogの場合はメニューで選択すると日付順に概要表示でitemが並ぶのでメニューに階層表示は必要ないという判断です。

ということで、sidebar.html.twigを修正していきます。

File:sidebar.html.twig
~~~
        <li class="dd-item{{ parent_page }}{{ current_page }}" data-nav-id="{{ p.route }}">
            <a href="{{ p.url }}" {% if p.header.class %}class="{{ p.header.class }}"{% endif %}>
                <i class="fa fa-check read-icon"></i>
                <span><b>{% if data_level == 0 %}{{ loop.index }}. {% endif %}</b>{{ p.menu }}</span>
            </a>
<!-- 以下の判断条件を -->
            {% if p.children.count > 0 %}
<!-- 以下のようにしてblogであれば配下を表示しないように変更 -->
            {% if p.children.count > 0 and p.template!='blog' %}
<!-- /ここまで -->
            <ul>
                {{ _self.loop(p, parent_loop|default(0)+loop.index) }}
            </ul>
            {% endif %}
        </li>
~~~

あとは、blogページ関連のスタイルをcssに追加して微調整という感じです。

まあ、ほとんどは"twentyfifteen"のcssから該当classを移植しただけですが、大体は形になったかな(。・ω・)ノ゙

Last edited: 2024-07-31 01:15