← inaro.devShopify学習ツール
08-01

グローバルオブジェクト

どのページでも使えるオブジェクトを把握し、ページ種別に応じた分岐を書ける

最終確認: 2026-09

解説

受託の現場でなぜ必要か: この回では、どのページでも使えるオブジェクト(Shopifyが用意している値のまとまり)を使って、ページ種別ごとの分岐を書けるようになります。
受託では「トップページだけ帯を出したい」のような依頼が、この分岐を知っていれば1行で済みます。

グローバルオブジェクトとは

テンプレートの種類に関係なく、どのファイルでも使える値のまとまりです。
代表はshoprequestです。
shopには、ストア名・通貨・ドメイン・メール・有効な決済手段(enabled_payment_types)・ポリシーが入ります。
フッターや構造化データ(検索エンジン向けの情報)で使います。

「トップページだけ」はどう判定するか

request.page_typeで判定します。
値はindex / product / collection / page / article / cart / search / 404などです。
トップページだけの分岐は`request.page_type == 'index'`と書きます。
URLを文字列で比較する書き方は、多言語のサブフォルダで壊れます。
requestにはpathlocaledesign_mode(テーマエディタの中かどうか)もあります。

URLと言語はどこから取るか

URLは必ずroutesから取ります。
言語と国はlocalizationから取ります。
直書きしたURLは、多言語で壊れるからです。
例えばカートへのリンクは{{ routes.cart_url }}と書きます。

発展:<head>で使う値とエディタ判定

page_title / page_description / canonical_url<head>に出す値です。
テーマ設定の値はsettingsから取ります。
template.name / template.suffixで、カスタムテンプレートの判定ができます。
request.design_modeは、テーマエディタの中でだけ真になります。
自動再生を止める、運用者向けの注意書きを出す、といった用途に使います。

ステップ1 / 2

ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。