見出し画像

ShopifyテーマChapter3 LiquidファイルとURLの連携

Shopify上で、Liquidファイルはそのフォルダ構成やファイル名によって、どのファイルがどのページやURLで表示されるかがあらかじめ決められています。
まずどのフォルダがどういった場合に使われるかを知る。
そして、その中のどのファイルがどのページで表示されるかを見ていきましょう。

URLテンプレートマッピング

Shopifyは独自のルーティング(URLとの紐付け)構造が設定されていて、ユーザーがリクエストするURLによってどのLiquidファイルがレンダリングされるかが決定されます。例えば、商品ページレイアウトのフォルダのproduct.liquidのファイルによってレンダリング(表示)されます。
*OS2.0の仕様ではproduct.jsonを元にレンダリングされます。

URLとレンダリングされるLiquidファイル

デフォルトのURL(サブディレクトリがなにもないホーム)

サブディレクトリの指定のないURLはindex.liquidによってレンダリングされます。

404ページ

404ページとは、存在しないページ(該当しないURL)にアクセスしようとしたときに表示されるページです。404.liquidによってレンダリングされます。

Password protected ページ

よく見るとtemplate フォルダの中にはパスワードで保護されたページを表示するためのpassword.liquidが含まれていません。
password.liquidはストアフロントにパスワードを設置したときに表示されるページ用のliquidファイルで、ストアにパスワードが設定されている場合、他のすべてのURLを上書きして、パスワード入力のページを表示する形になります。

このpassword.liquidは必須ファイルでなく、もしテーマファイルに含まれていない場合、Shopifyのデフォルトのパスワード保護画面が表示されます。

Alternate Templates オルタネイトテンプレート

オルタネイトとは「代わりの」という意味です。
上記の表のファイル以外にも、代わりとなるLiquidファイルを設定することができます。(後述)

URL パラメーター

 上記の表をみてもらうとURLが括弧で囲まれているものがあります。これは読み込むデータ・ページによって変わる変数がはいります。

例えば名前が「shirts」というコレクションにアクセスしたときには、そのコレクション名に応じてURLが/collections/shirts/と自動的に変わります。
名前が「hats」というコレクションであれば/collections/hats/という感じです。

また/products/collectionsのように同じLiquidファイルをシェアしている場合もあります。

テンプレートの確認方法

もしどのLiquidファイルがレンダリングされているかわからない場合、簡単に確認する方法があります。
theme.liquidのファイル{{template}}と加えると、今現在レンダリングされているページが.liquidの拡張子とともに表示されます。これは設置したテンプレートがうまく動いているか一旦確認するのにも役に立ちます。

<h1 style="text-align:center">現在のテンプレート: {{ template }}.liquid or json</h1>

上記のコードをtheme.liquidのbodyタグの真下に加えます。

body タグの真下に加える。

コードエディタを開いて、<body>タグの真下くらいに加えるとわかりやすいでしょう。

コレクションページを表示

コレクションの「セール品」のページにアクセスすると、さきのコード{{template}}collectionに入れ替わっているのがわかります。
今どのテンプレートファイルを使ってレンダリングされているかが表示されるようになりました。
*OS2.0仕様のテーマだとliquid ではなくjson形式のファイルが仕様されています。

次回は商品ページのテンプレートについて。

いいなと思ったら応援しよう!