Shopifyのproductに関するオブジェクトに関するメモ。
概要
- The product object
productテンプレート内で、表示中の商品の情報が出力されるproductオブジェクト - Liquid objects
グローバルオブジェクトとしてのall_productsオブジェクト
productオブジェクトは、productテンプレート内に記載することで、表示中の商品の各情報を表示します。
商品を特定する記述は不要です。
all_productsオブジェクトは、どのテンプレートにも記載できます。
表示したい商品を特定するために、該当商品のHandleを指定して用います。
サンプル
{% comment %}Handleがtestの場合で、productテンプレート以外のliquidファイルに記述する場合{% endcomment %}
{% comment %}Handleを直接記載することで、そのHandleのタイトルが表示される{% endcomment %}
{{ all_products.test.title }}
{{ all_products.test.metafields.hoge.fuga }}
{% comment %}以下の書き方であればハンドルに変数の代入が可能なので、assingなどで動的に動作させることが可能{% endcomment %}
{{ all_products['test'].title }}
{{ all_products['test'].metafields.hoge.fuga }}
Shopifyには値をとる時の書き方が複数ありますが、上記サンプルのようにカッコを使って文字列として渡す方法は、assingやcaptureを使って変数を利用した動的な作り方にも対応できるため、応用範囲が広がる書き方だと思います。
結び
どのテンプレートからどの値がとれるのか、というのをややこしく感じるかもしれませんが、基本的には2種類のようで悩むことは少ないかもしれません。
0人がこの記事を評価
役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。
連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。