• Home
  • Craft CMS
  • Craft 3 のテンプレートで現在表示されているページがトップページかどうかを判別する

Craft 3 のテンプレートで現在表示されているページがトップページかどうかを判別する

Craft 3 で現在表示されているページがトップページかどうかを判別する方法をご紹介します。ナビゲーションで現在表示されているページに active クラス等をつける際に役立つと思います。

Twig テンプレート

方法は簡単で、

{% if craft.app.request.segments|first  == '' %} active{% endif %}

という条件分岐を追加すればOKです。

craft.app.request.segments|first は、例えば URL が example.com/service/websites/ とうページの場合には service が該当します。

この分岐方法であれば、Craft で多言語サイトを作るとき、URL が、

example.com => Japanese
example.com/en => English

のようになっていても、 システム設定の Sites で適切にマルチサイトの設定をしておけば、英語サイトの example.com/en/service/websites/ を表示しているときでも encraft.request.firstSegment にはなりませんので安心です。

以上です。

Recent Entries

Pickup Categories

Movable Type

CMSとして国内5万サイト以上に導入されている Movable Type に関する記事です。

Craft CMS

CMS 業界で注目の Craft CMS に関する記事です。Craft CMS はチーム全体をハッピーにしてくれる素晴らしい CMS です。