Shopifyのproduct(商品)に関するオブジェクト

窓辺

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には値をとる時の書き方が複数ありますが、上記サンプルのようにカッコを使って文字列として渡す方法は、assingcaptureを使って変数を利用した動的な作り方にも対応できるため、応用範囲が広がる書き方だと思います。

結び

どのテンプレートからどの値がとれるのか、というのをややこしく感じるかもしれませんが、基本的には2種類のようで悩むことは少ないかもしれません。

0人がこの記事を評価

役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。

連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。

コメント欄