Liquid、JavaScriptなどに関する質問
告知バーの送料設定に関してご質問です。
海外向けに販売してます、ホームの告知バーに送料を表記したいのですが、送料3000円に設定した場合、ドルで告知バーに表記したいのです。為替も日々変わるので、送料設定をドルで設定する方法はありますか?
サポートセンター問い合わせましたが、為替等と連動して表記する事は残念ながらShopifyの標準機能では叶いません。との事でした。
最初に、本回答の最後の「注意点」からご覧いただいた方が良いです。
「注意点」に問題がない場合、下記のようなカスタマイズを行います。
まず、
ストア管理画面 > オンラインストア > 利用中のテーマの「コード編集」から、
セクション (sections) > announcement-bar.liquidを開き、下記のコードを見つけます。
"blocks": [
{
"type": "announcement",
"name": "t:sections.announcement-bar.blocks.announcement.name",
"settings": [
{
"type": "text",
"id": "text",
"default": "Welcome to our store",
"label": "t:sections.announcement-bar.blocks.announcement.settings.text.label"
},
上記の、
"type": "text",
を、
"type": "html",
に変更します。
さらに、
セクション (sections) > announcement-bar.liquidから
<div class="page-width">
<p class="announcement-bar__message {{ block.settings.text_alignment }} h5">
{{ block.settings.text | escape }}
{%- if block.settings.link != blank -%}
というコードを探し、
{{ block.settings.text | escape }}
を
{{ block.settings.text }}
に変更します。
これで、
告知バーのテキストにHTMLを入力することができるようになりましたので、
ストア管理画面 > オンラインストア > 利用中のテーマの「カスタマイズ」から、
告知バーのテキストに、3000円を下記のように入力します。
(この時点では通貨単位は付けません。後ほどJavaScriptで付与します。)
<span class="js-adjust-price">3000</span>
そうしましたら、
下記のコードを、
セクション (sections) > announcement-bar.liquid
の最終行に追加します。
<script>
window.addEventListener('load', (event) => {
const originalPriceElement = document.querySelector('.js-adjust-price');
const originalPrice = originalPriceElement.textContent;
const ratedPrice = originalPrice * Shopify.currency.rate;
const f = new Intl.NumberFormat(Shopify.locale + '-' + Shopify.country
, {
style: 'currency',
currency: Shopify.currency.active
});
const ratedPriceWithCurrency = f.format(ratedPrice);
originalPriceElement.textContent = ratedPriceWithCurrency;
});
</script>
注意点
ご参考まで。
(キュー田辺)
サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 20242023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024