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

closest オブジェクト

現在のコンテキストにおいて最も近い商品、コレクション、記事、ブログ、ページ、またはメタオブジェクトリソースを参照するオブジェクト。テーマセクション・ブロックの設定値、祖先要素の設定値、またはテンプレートリソースから動的に取得される。

用途
Online Store 2.0 のテーマブロック内で、セクション設定で指定された商品やコレクションを参照したいとき。また content_for タグで渡されたリソースにアクセスするときに使用する。
設置場所
セクション・ブロック内の Liquid コード内で、`{{ closest.product }}` `{{ closest.collection }}` `{{ closest.article }}` の形でプロパティを参照する。最も近いリソースが自動的に解決されるため、明示的なパス指定は不要。
注意点
closest オブジェクトがリソースを保有するのはセクション・ブロック設定、祖先要素の設定、またはテンプレートのいずれかで該当リソースが指定されている場合のみ。指定がない場合はプロパティは nil を返すため、アクセス前に存在確認(`{% if closest.product %}`)が必要。同一のコンテキストに複数の型のリソースが存在する場合は、最も直近の(最も内層の)設定値が優先される。
タグ:closestdynamic-sourcemetaobjectcontexttheme-block

仕様

117 行 / json
{
  "access": {
    "global": true,
    "parents": [],
    "template": []
  },
  "deprecated": false,
  "deprecation_reason": "",
  "description": "This drop is used to hold resources of different types that are the closest to the current context. These resources can be of type `product`, `collection`, `article`, `blog`, `page`, or `metaobject`.\nThe resources of different types within the closest drop can be:\n - The currently rendered section or theme block resource setting of the same type\n - The currently rendered theme block's ancestor resource setting of the same type\n - The currently rendered template resource of the same type\n - Assigned via {% content_for %} tag\n\n> Tip:\n> To learn about how closest drop in theme settings can be used, refer to [Dynamic sources](/storefronts/themes/architecture/blocks/theme-blocks/dynamic-sources#accessing-the-closest-resource).",
  "properties": [
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "The product resource that is the closest to the current context.",
      "examples": [],
      "return_type": [
        {
          "type": "product",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "Closest product resource",
      "name": "product"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "The collection resource that is the closest to the current context.",
      "examples": [],
      "return_type": [
        {
          "type": "collection",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "Closest collection resource",
      "name": "collection"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "The article resource that is the closest to the current context.",
      "examples": [],
      "return_type": [
        {
          "type": "article",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "Closest article resource",
      "name": "article"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "The blog resource that is the closest to the current context.",
      "examples": [],
      "return_type": [
        {
          "type": "blog",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "Closest blog resource",
      "name": "blog"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "The page resource that is the closest to the current context.",
      "examples": [],
      "return_type": [
        {
          "type": "page",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "Closest page resource",
      "name": "page"
    },
    {
      "deprecated": false,
      "deprecation_reason": "",
      "description": "The metaobject resources that are the closest to the current context.",
      "examples": [],
      "return_type": [
        {
          "type": "metaobject",
          "name": "",
          "description": "",
          "array_value": ""
        }
      ],
      "summary": "Closest metaobject resources",
      "name": "metaobject"
    }
  ],
  "summary": "A drop that holds resources of different types that are the closest to the current context",
  "name": "closest",
  "examples": [],
  "json_data": {
    "path": "",
    "handle": "",
    "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