Liquid、JavaScriptなどに関する質問
いつもお世話になっております。
最初にまとめますと、質問はこの2つになります。
1. dateフィルターは unix timestampを日付に変換できるか?
2. unix timestamp をうまく日付に変換する方法はないか?(カスタムのフィルターを作成する方法など)
もし何かお分かりの方がいらっしゃったら教えていただけますと嬉しいです🙇♂️
====================
質問の経緯を説明しますと、「custom-fields」アプリを使ってメタフィールドに追加した日付が、dateフィルターで変換できなくて困っています。
https://apps.shopify.com/custom-fields-2
このアプリを通して、カレンダーから日付を選択することで、メタフィールドに以下を設定しました。
namespace: custom_fields
key: publish_at
value : 1622512407
この値を用いて、dateフィルターで日付を表示したいのですがうまくいきません。
<div class="custom-field--value">
{{ product.metafields.custom_fields["publish_at"] | date: "%m/%d/%Y" }}
</div>
dateフィルターは日付の文字列を、パースしてフォーマットしてくれると認識しており、そもそもint型のunix timeには対応していないのではないかと考えていますが、合っているでしょうか?
dateフィルターのドキュメントには書いてありませんが、こちらのLiquidドキュメントを見ると、入力はRubyのTime.parseと同じ形式を受け付けるようです。つまり数値では正常に動作しないのではないかと思います。
一方、アプリのドキュメントを見ますと日付のフィールドを使うと「Unix Timestampで保存さるよ!Unix Timestampは汎用性が高くて便利!」というような形で説明されており、もしかしたら日付に変換するための方法があるのではないかと疑問に思っています。
このアプリのドキュメントには、下記のように Example Codeで上記のLiquidのような書き方を推奨されているため、アプリ的にはできるとされていると思うのですがなぜ使えないのでしょうか....
もし何かお分かりの方がいらっしゃったら教えていただけますと嬉しいです🙇♂️
解決済! ベストソリューションを見る。
成功
すみません、こちらLiquidオブジェクトの参照が間違っており、書き換えたところ正常に動作するようになりました。
結論としてはdateフィルターはUnixタイムスタンプをフィルターできるということです。お騒がせいたしました。
成功
すみません、こちらLiquidオブジェクトの参照が間違っており、書き換えたところ正常に動作するようになりました。
結論としてはdateフィルターはUnixタイムスタンプをフィルターできるということです。お騒がせいたしました。
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024