Liquid Snippets by ALSEL
📘 公式リファレンス📦 リファレンス/オブジェクト初級

request オブジェクト

現在のページリクエスト情報(ページ種類、ホスト、エディタモードなど)にアクセスできるグローバルオブジェクト。テーマの挙動をリクエスト条件に応じて動的に制御する。

用途
テーマエディタでのプレビュー時に追跡スクリプトを無効化したり、アクセスしたドメインで表示内容を出し分けたり、ページ種別ごとに異なる CSS クラスを付与する場合に使用する。
設置場所
Liquid テンプレート内で `{{ request.page_type }}`、`{{ request.host }}`、`{{ request.design_mode }}` の形でプロパティを参照する。条件分岐では `{% if request.design_mode %}...{% endif %}` のように使用する。
注意点
`request.design_mode` と `request.visual_preview_mode` はテーマカスタマイザーでのプレビュー時に true になるが、顧客向けの機能を制御する用途には使わない(プレビューと本番ストアで見え方が異なってしまう)。`request.host` は開発ストア(*.myshopify.com)では機能せず、カスタムドメイン設定が前提となる。
タグ:requestglobalpage-typeeditor-modedomain

仕様

270 行 / json
{
  "access": {
    "global": true,
    "parents": [],
    "template": []
  },
  "deprecated": false,
  "deprecation_reason": "",
  "description": "",
  "properties": [
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "You can use `request.design_mode` to control theme behavior depending on whether the theme is being viewed in the editor.\nFor example, you can prevent session data from being tracked by tracking scripts in the theme editor.\n\n> Caution:\n> You shouldn't use `request.design_mode` to change customer-facing functionality. The theme editor preview should match\n> what the merchant's customers see on the live store.",
      "examples": [],
      "return_type": [
        {
          "type": "boolean",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "Returns `true` if the request is being made from within the theme editor. Returns `false` if not.",
      "name": "design_mode"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "You can use `request.visual_preview_mode` to control theme behavior depending on whether the theme is being viewed in the editor's visual section preview.\nFor example, you can remove any scripts that interefere with how the section is displayed.",
      "examples": [],
      "return_type": [
        {
          "type": "boolean",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "Returns `true` if the request is being made from within the theme editor's visual section preview. Returns `false` if not.",
      "name": "visual_preview_mode"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "",
      "examples": [],
      "return_type": [
        {
          "type": "string",
          "name": "404",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "article",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "blog",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "captcha",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "cart",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "collection",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "list-collections",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "customers/account",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "customers/activate_account",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "customers/addresses",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "customers/login",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "customers/order",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "customers/register",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "customers/reset_password",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "gift_card",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "index",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "metaobject",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "page",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "password",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "policy",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "product",
          "description": "",
          "array_value": ""
        },
        {
          "type": "string",
          "name": "search",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "The type of page being requested.",
      "name": "page_type"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "",
      "examples": [],
      "return_type": [
        {
          "type": "string",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "The domain that the request is hosted on.",
      "name": "host"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "",
      "examples": [
        {
          "name": "Create a context-aware absolute URL",
          "description": "You can use `request.origin` with any object, object property, or filter that returns a relative URL to build a context-aware absolute URL.\n",
          "syntax": "",
          "path": "/products/health-potion",
          "raw_liquid": "{{ product.selected_variant.url | default: product.url | prepend: request.origin }}",
          "parameter": false,
          "display_type": "text",
          "show_data_tab": true
        }
      ],
      "return_type": [
        {
          "type": "string",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "The protocol and host of the request.",
      "name": "origin"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "> Note:\n> If the current path is for a page that doesn't exist, then `nil` is returned.",
      "examples": [],
      "return_type": [
        {
          "type": "string",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "The path of the request.",
      "name": "path"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "",
      "examples": [],
      "return_type": [
        {
          "type": "shop_locale",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "The locale of the request.",
      "name": "locale"
    }
  ],
  "summary": "Information about the current URL and the associated page.",
  "name": "request",
  "examples": [],
  "json_data": {
    "path": "/",
    "handle": "request",
    "data_from_file": ""
  },
  "return_type": []
}

出典・ライセンス

License:
MIT

このコードは Shopify 著作の MIT ライセンスソースです。 原本の著作権は Shopify が保有します。日本語訳は ALSEL によるものです。

関連項目

📘 公式リファレンス📦 リファレンス/オブジェクト初級

content_for_header オブジェクト

Shopify が必要とするスクリプト(分析・チェックアウト・言語設定など)をすべて動的に出力するオブジェクト。theme.liquid の <head> タグ内に埋め込む必須要素。

📁 theme-liquid-docs·MIT·20
📘 公式リファレンス📦 リファレンス/オブジェクト中級

metaobjects オブジェクト

ストア全体のメタオブジェクト定義にアクセスするグローバルオブジェクト。個別のメタオブジェクトはタイプとハンドルで参照でき、メタオブジェクト定義のエントリをループで反復処理できる。

📁 theme-liquid-docs·MIT·20
📘 公式リファレンス📦 リファレンス/オブジェクト初級

additional_checkout_buttons オブジェクト

PayPal Express Checkout など、オフサイト決済に対応した外部決済プロバイダーがストアに設定されているかを真偽値で返す。`content_for_additional_checkout_buttons` と組み合わせて、該当するチェックアウトボタンを条件付きで表示する。

📁 theme-liquid-docs·MIT·27
📘 公式リファレンス📦 リファレンス/オブジェクト初級

canonical_url オブジェクト

現在のページの正規 URL を取得するオブジェクト。Google などの検索エンジンに対してどのページ版が正規であるかを指定するために使用する。

📁 theme-liquid-docs·MIT·27
📘 公式リファレンス📦 リファレンス/オブジェクト初級

content_for_index オブジェクト

ホームページに表示するセクションの内容を動的に返すオブジェクト。Liquid インデックステンプレートで必ず使用する。

📁 theme-liquid-docs·MIT·27
📘 公式リファレンス📦 リファレンス/オブジェクト初級

content_for_additional_checkout_buttons オブジェクト

PayPal、Apple Pay、Google Pay など複数の決済プロバイダが有効になっているとき、その決済ボタンを HTML として出力するオブジェクト。`additional_checkout_buttons` で有無を判定したうえで、このオブジェクトで実際のボタンを表示する。

📁 theme-liquid-docs·MIT·27