FROM CACHE - jp_header
解決済

商品ページで商品につけたタグをラベルとして表示させたい

KDesign
Shopify Partner
8 0 0

お世話になります。

初心者レベルとなりますため、以下ご教授いただければ幸いです。

 

テーマはDawnを使用しています。

 

商品ページで金額の横にタグで登録した文言をラベルとして表示させたいと考えています。

狙いとしては、「セール」の表示ではなく、

お客様側で登録したタグの文言を表示させたい

(タイミングによって「早割」「超早割」など、割引にバリエーションを持たせたい)

ということがあります。

 

金額の横に表示ということで、price.liquidをさわれば良いことはわかったのですが、

タグを登録したうえで、さまざまな参考を見て

{% for tag in card_product.tags %}
  <span>{{ tag }}</span>
{% endfor %}

こちらのコードを入れてみたものの表示されません。

 

何が間違っているか、どなたかお教えいただけないでしょうか。

よろしくお願いいたします。

1 件の受理された解決策

ogasawarakyohei
Shopify Partner
110 43 39

成功

card_product には何が入ってますか?

グローバルなオブジェクトではないと思うので、独自で定義している変数ですかね?

もしcard_productがproductを入れたものならtagsプロパティもあると思うので動くかなと思うのですが、動かないということは、

・tagsが入っていない

・そもそもcard_productという変数が定義されていない

あたりが怪しいと思います。

 

Dawnをお使いでしたら、price.liquidにはセクションからproductが渡されていますので、productを使えば商品のtagsは取得できると思います。

{% for tag in product.tags %}
  <span>{{ tag }}</span>
{% endfor %}

 

ただ、for文ですべてのタグを出力する感じでいいんですかね?

セール関連に絞りたい場合、

{% assign sale_tags = 'セール,早割,超早割' | split: ',' %}
{% for tag in product.tags %}
{% if sale_tags contains tag %}
<span>{{ tag }}</span>
{% endif %}
{% endfor %}

のようにする必要があります。

 

これは蛇足ですので、聞き流していただいていいのですが、要件的にはタグを使うのではなく、メタフィールドの方が適しているかなと思いました。

上述したように、セール関連以外のタグが表示されないように絞ったりするハンドリング等で管理が煩雑になりますので。

 

小笠原 京平 | 株式会社Tsun | RuffRuff アプリ
・私の回答が役に立ったら、いいね! ボタンをクリックして教えてください!
Shopify 開発で役に立つ情報を発信していますので、テックブログおすすめ Shopifyアプリ もぜひご参照ください。

元の投稿で解決策を見る

2件の返信2

ogasawarakyohei
Shopify Partner
110 43 39

成功

card_product には何が入ってますか?

グローバルなオブジェクトではないと思うので、独自で定義している変数ですかね?

もしcard_productがproductを入れたものならtagsプロパティもあると思うので動くかなと思うのですが、動かないということは、

・tagsが入っていない

・そもそもcard_productという変数が定義されていない

あたりが怪しいと思います。

 

Dawnをお使いでしたら、price.liquidにはセクションからproductが渡されていますので、productを使えば商品のtagsは取得できると思います。

{% for tag in product.tags %}
  <span>{{ tag }}</span>
{% endfor %}

 

ただ、for文ですべてのタグを出力する感じでいいんですかね?

セール関連に絞りたい場合、

{% assign sale_tags = 'セール,早割,超早割' | split: ',' %}
{% for tag in product.tags %}
{% if sale_tags contains tag %}
<span>{{ tag }}</span>
{% endif %}
{% endfor %}

のようにする必要があります。

 

これは蛇足ですので、聞き流していただいていいのですが、要件的にはタグを使うのではなく、メタフィールドの方が適しているかなと思いました。

上述したように、セール関連以外のタグが表示されないように絞ったりするハンドリング等で管理が煩雑になりますので。

 

小笠原 京平 | 株式会社Tsun | RuffRuff アプリ
・私の回答が役に立ったら、いいね! ボタンをクリックして教えてください!
Shopify 開発で役に立つ情報を発信していますので、テックブログおすすめ Shopifyアプリ もぜひご参照ください。
KDesign
Shopify Partner
8 0 0

ありがとうございます。

 

{% for tag in product.tags %}
  <span>{{ tag }}</span>
{% endfor %}

いただいた上記のコードで実装したところうまく表示されました。