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タイムスタンプをフィルターできるということです。お騒がせいたしました。
リエンゲージメントの自動化で売り上げ向上へ!素敵なオンラインストアを作成し、見込み顧客の携帯へ広告を直接に送信する、またはSNSなどで宣伝すると、お客様がストアに行き着...
By Mirai Mar 24, 2024Shopifyは世界で最も革新的なブランドと起業家をサポートしています。個人起業家やあらゆる規模のビジネスの成長を後押しするために、Shopify アカデミーではShopif...
By SarahF_Shopify Mar 22, 2024オンラインストア運営はとてもやりがいのある活動です。新しい注文が入った時の喜びや世界中のお客様とやりとりできる可能性、商品に対して最高のレビューをもらった時の満足感は、毎日の...
By Mina Mar 13, 2024