メタフィールド 出力の並び順を変えたい。

お世話になります。

メタフィールドの出力される並び順についてご質問です。

同じネームスペースに属するキーと値を出力したのですが、出力される並び順を変える方法がわかりません。

Shopify純正のメタフィールド で作成してます。

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

<dl>
  {% for detail in details %}
  <dt>{{ detail | first | upcase }} : </dt>
  <dd>{{ detail | last }}</dd>
  {% endfor %}
</dl>

メタフィールド は同じネームスペース『details』で各キーは『material』と『lining』で作成しておりまして、

上記コードで出力すると

LINING : 100% POLYESTER

MATERIAL : HORSE LEATHER

の順番で出力されます。

ですが、やりたい事は

MATERIAL : HORSE LEATHER

LINING : 100% POLYESTER

の順番にしたいのですが、いろいろ検索したのですが方法がわかりませんでした。

どうやらアルファベット順に出力されるのかとは思っているのですが、、、

カスタムフィールドで出力したものは順番を変えることができないのでしょうか?

何か良い方法がございましたら、ご教示いただけますと幸いです。

何卒宜しくお願い致します。

試していないので動くかわかりませんが、sort filterが使えるかもしれません。

https://shopify.dev/api/liquid/filters/array-filters#sort

ただ、ソートを使うのではなく最初からキーを指定して出力した方が良いように思います。

<dl>
  <dt>{{ product.metafields.details.material }} : </dt>
  <dd>{{ product.metafields.details.lining }}</dd>
</dl>

返信遅くなってすいません。

ありがとうございます。

試していないので動くかわかりませんが、sort filterが使えるかもしれません。

https://shopify.dev/api/liquid/filters/array-filters#sort

この方法では出来ませんでした。

ただ、ソートを使うのではなく最初からキーを指定して出力した方が良いように思います。

こちらの方法ですが、上記以外にも同じネームスペースで複数のキーがあるモノを作成していたので、

何かソートする方法はないかと思ったのですが、今回は諦めます。

ありがとうございました。