Liquid、JavaScriptなどに関する質問
質問をご覧いただきありがとうございます。
メタフィールドの出力は、「エントリーを追加した順」ではないのでしょうか?
以下の画像のように、「東京、愛知、三重、滋賀」という順に追加したのですが、
↓ のように、東京、滋賀、三重、愛知 という順番に表示されています。
↓ こちらが該当のコードになります。
<p>店舗一覧</p> <div class="shop_list"> {%- for shopInfo in shop.metaobjects.shopList.values -%} <div class="shop_info"> <p>店舗名:{{ shopInfo.name }}</p> <p>店舗住所:{{ shopInfo.address }}</p> </div> {%- endfor -%} </div>
メタフィールドの出力は、「エントリーを追加した順」ではないのでしたら、どのようなルールで表示順が決まってくるのでしょうか?
お手数お掛けしますが、ご存じの方がみえましたら教えていただけますと幸いです。
▽参考にしたサイト
ご質問いただいている、メタオブジェクトの出力順についてですが、
メタオブジェクトのカスタムオブジェクトのハンドルを下記のように英語表示されていませんでしょうか。
東京店:tokyo_store
愛知店:aichi_store
三重店:mie_store
滋賀店:shiga_store
英語表記されていると、ハンドル順「aからz」の順で並んでいる様です。
ハンドルを変更するこができる場合は、
東京店:store_01
愛知店:store_02
三重店:store_03
滋賀店:store_04
のように登録すると、東京、愛知、三重、滋賀の順に表示することが可能です。
もし、ハンドルを変更するとが難し様でしたら、カスタムデータメタオブジェクト定義の店舗一覧に添付画像のような、
並び順用の項目を追加し、並び順の任意にソートする方法もあります。
添付画像のキーsortを赤字部分に指定した下記コードを使い、
<p>店舗一覧</p>
<div class="shop_list">
{%- assign sorted_metaobject = shop.metaobjects.shopList.values | sort: "sort" -%}
{%- for shopInfo in sorted_metaobject -%}
<div class="shop_info">
<p>店舗名:{{ shopInfo.name }}</p>
<p>店舗住所:{{ shopInfo.address }}</p>
</div>
{%- endfor -%}
</div>
下記順番で並び順を指定した場合、
東京店:3
愛知店:4
三重店:1
滋賀店:2
添付のように順番で並びます。
ご参考まで
(キュー小坂)
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024