2016-10-21 33 views
0

私は、shopifyの製品のためにnイメージの数を表示する必要があります。shopifyのメタフィールドをループする

私はメタフィールドに画像の数を格納し、そのループを作成しました。

それぞれの画像の名前は、ループの助けを借りて取得しようとしているメタフィールドに格納されています。
product.metafields.earring-1
product.metafields.earring-2

が、私はmetafield earring.nameの値を読み取るしようとしているとき:このループは私がearringのように値与えている

{% assign earrings = product.metafields.earrings %} 

{% for i in (1..earrings.total-earrings) %} 
    {% assign earring = 'product.metafields.earring-' | append:i %} 
    {{ earring.name }} 
{% endfor %} 

、私は出力を取得していません。 product.metafields.earring-1は文字列だと思います。

このようなメタフィールドをループして値を取得する方法はありますか?

+0

リトル質問:なぜあなたは代わりに、製品イメージのmetafieldを使用している

ここで更新されたコードですか? –

+0

デザインが複雑で、製品イメージに必要な影響があるためです。 –

+1

@ AlokJain ..あなたがShopifyのCDNの外に画像を保存しているのでなければ、@ Aliceの質問にスポットが当たっています。 ShopifyのCDNには利点があります。イメージループはいつでも設定できます。第2に、すべてのイメージまたは単一のタイプのデータを格納するためにメタファイルを1つだけ使用する必要があります。それらを別個の文字で区切られた文字列として追加しました。そして、 '| split: '作成して配列してループするための使い方。サーバーの負荷を軽減します。 – HymnZ

答えて

0

もしそうなら、それは誰かのために役立ちます。

{% assign earrings = product.metafields.earrings %} 

{% for i in (1..earrings.total-earrings) %} 
    {% assign dummy = 'earring-' | append:i %} 
    {% assign earring = product.metafields[dummy] %} 
    {{ earring.name }} 
{% endfor %} 
関連する問題