【Shopifyテーマカスタマイズ】Liquidテンプレート言語のrequestオブジェクトについて解説!
Published: Updated:

こんにちは、Webデザイナーの 夢拓(MUHIRO)です。
ShopifyのLiquidテンプレート言語におけるrequestオブジェクトは、ページの表示内容を動的にコントロールするために役立つ強力な機能です。
特に、ユーザーがアクセスしているURLや言語設定、デバイス情報などを取得し、これに基づいて条件分岐を行うことで、より柔軟でパーソナライズされたページ作成が可能になります。
このリクエストデータを活用することで、多言語対応ページやデバイスに応じたレイアウト変更、特定の条件下でのプロモーション表示などがLiquidコード内で実装して最適化をすることができます。
この記事では、Liquidのrequestオブジェクトの基本から、よく使用されるプロパティの詳細な解説、そして具体的な使い方の例までを順に紹介していきます。
この記事を読んで、Shopifyストア運営で役立つ実践的なテクニックについても触れていきます。
requestオブジェクトの活用法をしっかり学び、さらに柔軟で高度なストアカスタマイズができるようになります。
それでは、どうぞ!
Index
[ CloseOpen ]
requestオブジェクトとは?
ShopifyのLiquidテンプレート言語で使用できるrequestオブジェクトは、現在のHTTPリクエストに関する情報を提供する重要なLiquid変数です。
このオブジェクトを使用することで、現在のリクエストに基づいて動的にコンテンツを変更したり、特定の条件下でのみコードを実行したりできます。テーマのカスタマイズや条件付きコンテンツの表示に非常に有用です。
requestオブジェクトのプロパティ一覧
- request.design_mode
- request.host
- request.locale
- request.origin
- request.page_type
- request.path
- request.visual_preview_mode
request.design_mode とは?
テーマエディタ(Shopifyのカスタマイズ画面)で表示しているかどうかを判定するためのプロパティです。
テーマカスタマイズ画面でだけ表示するパーツを切り分けたいときなどに便利です。
request.design_mode が返す値
値(boolean) | 意味 |
---|---|
true | テーマエディタでプレビュー中 |
false | 公開中の状態 |


request.host とは?
現在アクセスしているホスト名(ドメイン)を返します。
開発環境やサブドメインごとに条件分岐したい場合に役立ちます。
request.host が返す値
ドメイン | 値(string) |
---|---|
Shopifyのサブドメインの場合 | your-store.myshopify.com |
独自ドメインの場合 | example.com |
request.locale とは?
ShopifyのLiquidテンプレート言語で使用できるrequestオブジェクトのひとつで、現在のリクエストの言語や地域の情報を取得するために使われるLiquid変数です。
このオブジェクトは特に多言語対応に便利で、Shopifyのテーマやカスタムコードにおいて、ユーザーがアクセスしている言語に応じた表示や設定の切り替えに利用されます。
request.locale.iso_code は、ISO 639-1形式の言語コード(例えば en、ja、fr など)を返します。
request.locale.iso_code が返す値
言語 | ISO 639-1形式の言語コード |
---|---|
日本語 | ja |
英語 | en |
簡体字 | zh-cn |
繁体字 | zh-tw |
韓国語 | ko |
上記は一例です。
request.locale の使用例
Liquid
{%- liquid case request.locale.iso_code when 'en' // 英語 when 'zh-CN' // 簡体 when 'zh-TW' // 繁体 when 'ko' // 韓国語 else // 日本語 endcase -%}
request.locale を使用した関連の記事
request.origin とは?
リクエストの送信元のURLスキームとホストを返します。
フォーム送信や外部連携時の参照、セキュリティチェックなどに応用可能です。
request.origin が返す値
URL | 値(string) |
---|---|
Shopifyのサブドメインの場合 | https://your-store.myshopify.com |
独自ドメインの場合 | https://example.com |
request.page_type とは?
ShopifyのLiquidテンプレート言語で使用できるrequestオブジェクトのひとつで、現在表示されているページのタイプを返すLiquid変数です。
これにより、開発者は特定のページタイプに応じて異なるコンテンツや機能を表示させることができます。
全ページ共通コードの「layout/theme.liquid」でよく使用します。
request.page_type が返す値
ページ(パス) | 値 |
---|---|
トップページ(/) | index |
コレクション一覧(/collections) | list-collections |
コレクション(/collections/コレクションハンドル) | collection |
商品(/products/商品ハンドル) | product |
カート(/cart) | cart |
ブログ(/blogs/ブログハンドル) | blog |
ブログ記事(/blogs/ブログハンドル/記事ハンドル) | article |
独自ページ(/pages/ページハンドル) | page |
メタオブジェクトのエントリーをページ化(/pages/定義ハンドル/エントリーハンドル) | metaobject |
アカウント(/account) | customers/account |
会員登録(/account/register) | customers/register |
ログイン(/account/login) | customers/login |
住所を変更する(/account/addresses) | customers/addresses |
注文履歴(/account/order) | customers/order |
アカウントを有効にする(メール文から確認するページ) | customers/activate_account |
パスワードをリセットする(メール文から確認するページ) | customers/reset_password |
検索(/search) | search |
法務関連 | policy |
エラー | 404 |
ギフトカード | gift_card |
パスワード(ストア公開前のみ表示されるページ) | password |
request.page_type を使用した関連の記事
request.path とは?
現在のURLパスをクエリパラメータなしで取得します。
ページパスに応じたスタイル適用や処理の分岐に役立ちます。
request.page_type が返す値
ページ(パス) | 値(string)の例 |
---|---|
コレクション | /collections/frontpage |
商品 | /products/your-product-handle |
カート | /cart |
request.visual_preview_mode とは?
ビジュアルプレビュー(A/Bテストやテーマプレビューなど)で表示されているかどうかを判定します。
プレビュー環境限定の表示や、実稼働環境と切り分けたいときに使います。
まとめ
いかでしたでしょうか?
今回の記事では、ShopifyにおけるLiquidテンプレートのrequestオブジェクトについて詳しく解説しました。
今回のポイントをまとめますと、次のとおりです。
今回の記事のまとめ
- requestオブジェクトは現在のページの情報(URLやホスト、ロケールなど)を取得するために使われる
- request.path や request.locale を使うことで、ページや言語ごとの表示切り替えが可能
- 実装の自由度を高める反面、キャッシュやクエリの扱いには注意が必要
他にもShopify Liquidに関する技術や実用テクニックを随時発信しています。
「役に立った」と思っていただけた方は、ぜひブックマークやSNSでのシェアをお願いいたします!
最後までお読みいただきありがとうございました!
関連記事 Related articles
-
Published:
Updated:Shopifyテーマカスタマイズでページタイプごとに処理を分ける方法|Liquidのrequest.page_typeで条件分岐を実装
Shopifyテーマでページごとに表示を切り替えたい方へ。Liquidのrequest.page_typeを使った条件分岐の実装方法と活用例を丁寧に解説します。
-
Published:
Updated:Shopifyテーマカスタマイズの多言語化!Liquidのrequest.localeを使って言語ごとに処理を分ける方法の解説
Shopifyテーマで多言語ストアを最適化する方法を解説。Liquidのrequest.localeを使って、言語ごとの出し分け・条件分岐を柔軟に実装するテクニックを紹介します。
免責事項
- 当ブログでは、執筆者の経験に基づいた技術情報や知識を提供していますが、その正確性や普遍性を保証するものではありません。情報は執筆時点のものであり、技術の進展により古くなる可能性があります。これらの情報を利用する際は、自己責任で行ってください。必要に応じて専門家の助言を求めることをお勧めします。
- 当ブログで提供するプログラムコードは、執筆者の最善の知識に基づいていますが、その正確性や完全性を保証するものではありません。コードの利用や実行により生じた損害や問題については、一切の責任を負いかねます。コードの使用は、自己責任で行ってください。
- 当サイトで使用しているスクリーンショット画像について、著作権はサイトの権利者に帰属します。掲載に不都合がある場合、お手数ですがお問い合わせフォームよりご連絡ください。
- 当サイトからリンクよって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いかねますのでご了承ください。
- 当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。