Liquid、JavaScriptなどに関する質問
初めての質問ですので文章が拙かったりするかと思いますがご助力いただけると幸いです。
こちらのアプリではセール商品・売り切れ商品の取得はできるみたいですが新商品というタグをつけることは難しそうでした。
ですので、こちらで記述を付け加えようと思ったのですが商品の販売開始日時をJS側で取得できずに困っています。
liquid側では「product.published_at | date: "%s"」の記述で持ってこれたのですがJSでも取得できるのでしょうか?
取得できるのであれあば取得のやり方、サンプルコードなどを教えていただけると幸いです。
情報不足等している場合は教えていただけると追記します。
解決済! ベストソリューションを見る。
成功
LiquidはJSファイルに書いても動作しないので、liquidファイルのどこかでJSの変数にLiquidのobjectの内容を渡して、それを利用するJSの関数にパラメータで渡すアプローチが良いかと思います。
以下のようなイメージです。
xxx.liquid (collection.liquid など)
<script>
var d = '{{ product.published_at | date: "%s"}}';
fuctionA(d);
</script>
xxx.js (ご指摘のJSファイル)
function functionA(d) {
if (d > ....)
.....
};
単純に、
var d = '{{ product.published_at | date: "%s"}}';
で、画面表示でJSの変数にLiquidの内容を代入するではどうでしょうか?
ご回答ありがとうございます。
var d = '{{ product.published_at | date: "%s"}}';
画面表示でJSの変数にLiquidの内容を代入
上記の部分がよくわからなかったのですが画面表示で代入ということはJS側に記述するということで合ってますでしょうか?
JS側に記述したところ文字列として変数に代入されてしまっているようでして期待通り実行できませんでした。
最初に記載できておりませんでしたが
この記述を入れることで今回対応したいことは商品に「新着」のタグの表示です。
下記をJSで再現することはできるのでしょうか?
成功
LiquidはJSファイルに書いても動作しないので、liquidファイルのどこかでJSの変数にLiquidのobjectの内容を渡して、それを利用するJSの関数にパラメータで渡すアプローチが良いかと思います。
以下のようなイメージです。
xxx.liquid (collection.liquid など)
<script>
var d = '{{ product.published_at | date: "%s"}}';
fuctionA(d);
</script>
xxx.js (ご指摘のJSファイル)
function functionA(d) {
if (d > ....)
.....
};
リエンゲージメントの自動化で売り上げ向上へ!素敵なオンラインストアを作成し、見込み顧客の携帯へ広告を直接に送信する、またはSNSなどで宣伝すると、お客様がストアに行き着...
By Mirai Mar 24, 2024Shopifyは世界で最も革新的なブランドと起業家をサポートしています。個人起業家やあらゆる規模のビジネスの成長を後押しするために、Shopify アカデミーではShopif...
By SarahF_Shopify Mar 22, 2024オンラインストア運営はとてもやりがいのある活動です。新しい注文が入った時の喜びや世界中のお客様とやりとりできる可能性、商品に対して最高のレビューをもらった時の満足感は、毎日の...
By Mina Mar 13, 2024