特定ページのヘッダー、フッターの出しわけ

AI-generated summary

Liquidで特定ページだけヘッダー/フッターの表示を切り替えたい、できれば共通化したいという質問。

回答では、テーマによる差はあるが、通常は theme.liquid にある section 'header' / section 'footer' の読み込み部分で条件分岐する方法が示された。例として、request.page_type == 'collection' のときはヘッダーを表示しない unless 条件が提示されている。request.page_type はページ種別を判定するための値。

代替案としては以下が挙げられた。
・header.liquid や footer.liquid 内で分岐する
・layout に専用の別レイアウトファイルを作る

一方で、どれがベストプラクティスかは断定されておらず、実装方法は複数あるという位置づけ。最後は質問者が参考にすると返答しており、方向性は示されたが、最適解までは確定していない。

liquidでヘッダー、フッターの出しわけは可能でしょうか?可能であればどのように行うのが良いか教えていただきたいです。できるだけヘッダー、フッターは共通化して、特定のページにおいてはヘッダーは表示させないといった処理を行いたいです。

テーマごとに違いがあると思いますので一概には言えませんが、恐らくtheme.liquidに以下のような記述があると思います。

{% section 'header' %}

中略

{% section 'footer' %}

一例としては、以下のように上記をご希望の条件で分岐させて読み込ませることが考えられます。
(※コレクションページにはheaderを表示させない前提で記載します。)

{% unless request.page_type == 'collection' %}
   {% section 'header' %}
{% endunless %}

中略

{% section 'footer' %}

他には以下なども考えられます。

  • header.liquid や footer.liquid 内に分岐を作る
  • layout に新規でtheme.liquid と同種の専用ファイルを作る

いくつか書きましたが私もベストプラクティス的な手法は把握していないのと、他にも実現方法はあると思いますので、そのあたりのことは他の方の書き込みを待たれる方が良いと思います。

[追記]
当初記載しましたサンプルがご質問の回答とは遠かったので書き直しました。
修正のたびに余白が広がりまして、それが直せず読み辛くなっており申し訳ありません。

ありがとうございます!参考にします!