Liquid、JavaScriptなどに関する質問
初投稿の質問になります。
◇質問
メタオブジェクトに登録されたファイルを、画像として.liquid内で表示させたいと考えております。
ですが「["gid://shopify/MediaImage/〇〇〇〇〇〇〇〇","gid://shopify/MediaImage/〇〇〇〇〇〇〇〇"]」
のようにファイルネームではなくgidで出力されるようで、
gidから画像を出力する方法を探したのですが見つけることができませんでした。
商品情報の場合、idからループで取得する方法があるみたいですが
assign products_obj = collections.all.products | where: 'id', product_id
ファイルのメディアの場合どのような記述になるかわからず苦戦しております。
上記になります、回答を頂けると幸いです。
よろしくお願いいたします。
https://webutubutu.com/webdesign/10953
上記は私のブログ記事ですが、当時は以下のようなコードで出力可能だったはずです。
{% for file in product.metafields.hoge.fuga.value %}
{% assign file_name = file | split: '/' | last %}
<img src="{{ file_name | file_img_url: "150x" }}">
{% endfor %}
今現在試したわけではないので、うまくいかない場合はループ内で値をjsonフィルターなどで出力して加工方法を探れば対応可能だと思います。
添付の画像をみたところ、メタオブジェクトの中のフィールドがリスト形式のようですので、
メタオブジェクトの中を走査するループの中で、
さらにリスト形式のフィールドを走査するループを組まなければきれいにいきません。
以下は、「メタオブジェクト内で登録した、リスト形式のproductオブジェクト」を出力するためのliquidです。ご参考になりますでしょうか。
メタオブジェクトネーム | item_ranking |
商品(リスト)ネーム | item |
{%- for object in shop.metaobjects.item_ranking.values -%}
{%- assign product = object.item.value -%}
{% for product in product %}
<li>
{% render 'card-product',
card_product: product,
media_aspect_ratio: section.settings.image_ratio,
image_shape: section.settings.image_shape,
show_secondary_image: section.settings.show_secondary_image,
show_vendor: section.settings.show_vendor,
show_rating: section.settings.show_rating,
show_quick_add: section.settings.enable_quick_add,
section_id: section.id
%}
</li>
{%- endfor -%}
{%- endfor -%}
これを参考にすると、画像は以下のように出力可能だと思います。
{%- assign object_image = '' -%}
{%- for object in shop.metaobjects.メタオブジェクトのネーム.values -%}
{%- assign icon= object.icon.value -%}
{% for object_image in icon %}
{{ object_image | image_url: width: 2000 | image_tag }}
{%- endfor -%}
{%- endfor -%}
メタオブジェクトの出力方法について、文献が少ないように思います。
不明点あれば、Shopify構築のプリズムワークスにご相談ください!
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024