商品管理画面から、メタフィールドなどで画像とリンクをアップしたい

商品詳細ページで、リンク付きの画像を複数枚設置します。

リンクと画像は商品ごとに異なるため、

メタフィールドなどを使い、商品管理画面から設定できるようにしたいと考えていますが、

より良い方法があれば教えていただきたいと思います。

現状考えているメタフィールド場合、

リンクと画像をアップするフィールドを各々用意し(複数個設定したいため、リンクはコンマ区切りで入力)、

forで回して画像とリンクの値を取得、表示させる。

という流れです。

また、メタオブジェクトも調べまして、試しに設定してみました。

上記のようにメタフィールドを作成し、リンクと画像入力欄をひとまとまりとして作成することができましたが、

コンテンツ > メタオブジェクトの欄に膨大な数のリンク・画像の組み合わせが羅列されるのが気になります。

(1商品につき5つのリンク・画像のセットを設定する予定)

勉強不足で恐縮ですが、メタオブジェクトに上限などあるのでしょうか。

できればもっとスマートに、

且つ管理画面からもわかりやすく入力できる方法があればアドバイスいただけないでしょうか。

Do4nd81okoさま

ご質問拝見しました。

メタフィールドのリストタイプを使うのはいかがでしょうか?

画像用のリストとリンク用のリストを作成して、それぞれfor文で交互に出力する形でしたら、1つのメタフィールドが長くなることもなくなるかと思います。

参考記事:

https://community.shopify.com/topic/1643704

ただ、何十個も画像とリンクがあるとなると、どのリンクがどの画像に紐づいているのかがわかりづらくなるデメリットはあるかもしれません。

検討材料のひとつになりましたら幸いです。

私たちの励みにもなりますので、
お役に立てていればBest Answerボタンを押して頂ければ嬉しいです。

分からない点があれば、またいつでもご連絡ください。

フルバランス 渡邉

株式会社フルバランス 様

ご返信ありがとうございます。

やはりそうなりますよね。

早速その方法で試してみています。

すみませんが、forで交互に出力する、というのがうまくできず、助言いただけないでしょうか。

メタフィールドでは、リンクと画像をそれぞれリスト形式でアップできるようにしました。

それらを出力したいのですが、下記のコードでは画像がうまく出力されません。

{% for i in (0..2) %}
{% assign j = i %}

                        

{% assign j = i | plus: 1 %}
{% endfor %}

恐れ入りますが、何かアドバイスいただけると嬉しいです。

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

{% assign j = 0 %}
{% assign image_metafield = product.metafields.custom.×××_image %}  
{% for i in image_metafield.value %}
  
    
     
  {% assign j = j | plus: 1 %}  
{% endfor %}

こちらのコードで無事表示ができました。

手段を提示してくださりありがとうございました。