FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

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

解決済

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

KDesign
Shopify Partner
8 0 0

お世話になります。

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

 

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

 

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

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

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

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

ということがあります。

 

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

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

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

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

 

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

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

1 件の受理された解決策

ogasawarakyohei
Shopify Partner
114 44 42

成功

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
114 44 42

成功

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 %}

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