FROM CACHE - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

Liquidフィルターのsortの挙動に関して

解決済

Liquidフィルターのsortの挙動に関して

tono_mg
Shopify Partner
3 0 0

配列内をa-zで並び替えをしようと思ったのですが

英字だと並び替えができるのですが、日本語だとうまく並び替えができないです。

そういうものなのでしょうか?

他に良いフィルターがあったりするのでしょうか?

 

 

(例)
{%- liquid
  assign arr = 'curry,Banana,tea,Apple,peach' | split: ','
  assign arrjp = 'カレー,ばなな,茶,林檎,桃' | split: ','
%}

{{ arr | sort | join: ' ' }} <br>
{{ arrjp | sort | join: ' ' }}

結果:
Apple Banana curry peach tea
ばなな カレー 林檎 桃 茶

 

 

1 件の受理された解決策

_osamu_iwasaki_
Shopify Partner
189 47 195

成功

SORTフィルターは、数字, 英字大文字, 英字小文字,平仮名,片仮名,漢字... の順番に並ぶので、平仮名片仮名漢字が混ざっている場合は、平仮名の中で並び替えた後に、片仮名の中で並び替えて、最後に漢字を並び替えます。

 

雨,ウ,う,意,イ,い,亜,ア,あ,c,C,b,B,a,A,3,2,1

 ↓

1 2 3 A B C a b c あ い う ア イ ウ 亜 意 雨

 

PHPのmb_convert_kanaのような関数はありません。

元の投稿で解決策を見る

4件の返信4

株式会社フルバランス
Shopify Partner
1660 585 765

Tono_mg 様

 

はじめまして、フルバランスの道家です。

 

ご質問を確認いたしました。

 

sortにつきましては、英語、ひらがな、カタカタで統一しておく必要がございます。

混在している状態ですと以下のようにJSで実装されるのがよいかと思います。

https://blog.kimizuka.org/entry/2021/06/03/121459

https://note.kiriukun.com/entry/20181129-sort-with-local-compare

 

なにかヒントになれば幸いです。

 

私たちの励みにもなりますので、

お役に立てていればBest Answerボタンを押して頂ければ嬉しいです。

 

分からない点があれば、またいつでもご連絡ください。

 

フルバランス 道家

株式会社フルバランス
Shopify専門のEC成長支援会社です。ストアの新規構築から運用や改善のサポートなどShopifyに関する幅広いサービスを行なっております。
ECの技術・実務・成長、お悩みのことがあれば、お気軽にご相談ください。
『つくる人、売る人の成長と成功を最大化する。』 株式会社フルバランス
tono_mg
Shopify Partner
3 0 0

ありがとうございます!

やはり混在していると難しいんですね。

_osamu_iwasaki_
Shopify Partner
189 47 195

成功

SORTフィルターは、数字, 英字大文字, 英字小文字,平仮名,片仮名,漢字... の順番に並ぶので、平仮名片仮名漢字が混ざっている場合は、平仮名の中で並び替えた後に、片仮名の中で並び替えて、最後に漢字を並び替えます。

 

雨,ウ,う,意,イ,い,亜,ア,あ,c,C,b,B,a,A,3,2,1

 ↓

1 2 3 A B C a b c あ い う ア イ ウ 亜 意 雨

 

PHPのmb_convert_kanaのような関数はありません。

tono_mg
Shopify Partner
3 0 0

わかりやすくありがとうございます。