FROM CACHE - jp_header

メタフィールドで表示される、値の順番がおかしい

メタフィールドで表示される、値の順番がおかしい

mw_7
Shopify Partner
9 1 0

質問をご覧いただきありがとうございます。

 

メタフィールドの出力は、「エントリーを追加した順」ではないのでしょうか?

 

以下の画像のように、「東京、愛知、三重、滋賀」という順に追加したのですが、

 

スクリーンショット 2024-06-16 19.51.05.png

 

↓ のように、東京、滋賀、三重、愛知 という順番に表示されています。

スクリーンショット 2024-06-16 19.54.22.png

 

↓ こちらが該当のコードになります。

 

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

 

メタフィールドの出力は、「エントリーを追加した順」ではないのでしたら、どのようなルールで表示順が決まってくるのでしょうか?

 

お手数お掛けしますが、ご存じの方がみえましたら教えていただけますと幸いです。

 

▽参考にしたサイト

https://commerce-media.info/blogs/ec/meta-object

1件の返信1

Qcoltd
Shopify Partner
1058 435 427

@mw_7

 

ご質問いただいている、メタオブジェクトの出力順についてですが、
メタオブジェクトのカスタムオブジェクトのハンドルを下記のように英語表示されていませんでしょうか。

20240618-Shopify.png

東京店:tokyo_store
愛知店:aichi_store
三重店:mie_store
滋賀店:shiga_store
英語表記されていると、ハンドル順「aからz」の順で並んでいる様です。

 

ハンドルを変更するこができる場合は、
東京店:store_01
愛知店:store_02
三重店:store_03
滋賀店:store_04
のように登録すると、東京、愛知、三重、滋賀の順に表示することが可能です。

スクリーンショット 2024-06-18 19.52.51.png

もし、ハンドルを変更するとが難し様でしたら、カスタムデータメタオブジェクト定義の店舗一覧に添付画像のような、
並び順用の項目を追加し、並び順の任意にソートする方法もあります。

20240618-Shopify2.png

添付画像のキー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
添付のように順番で並びます。

スクリーンショット 2024-06-18 20.22.17.png


ご参考まで
(キュー小坂)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/