Liquid、JavaScriptなどに関する質問
いつもお世話になっております。
中口 聡明と申します。
当方、海外ですでに稼働しているshopifyで構築されたサイトの日本版作成業務を請け負っております。
オリジナルテーマで作成されており、そのテーマをダウンロードし構築しています。
①
ストア通貨は「円(JPY)」に変更済みですが、Cartの一部分に$表記が残ってしまいます。
これを円表記に修正したいです。
②
Cart下部に「translation missing: ja.layout.general.subtotal」などのエラーがでており、修正したい。
①②の修正方法がわからずお手数ですがお力をお貸しいただけないでしょうか。
よろしくお願いします。
該当箇所スクリーンショット
<section class="section cart">
<div class="container">
<h1>{{ 'cart.general.title' | t }}</h1>
{% if cart.item_count == 0 %}
<p class="quote">{{ 'cart.general.continue_browsing_html' | t }}</p>
<a href="/collections/all-laces" class="button">{{ 'cart.general.continue_shopping_link_html' | t }}</a>
{% else %}
<form action="/cart" method="post" id="cart_form">
<div id="shappify-qty-cart-msg"></div>
<div class="columns">
<div class="column is-8">
<cart-detail></cart-detail>
</div>
<div class="column is-4 summary">
<div class="summary-container">
<p class="subtotal">
<span>{{ 'layout.general.subtotal' | t }}</span>
<span class="is-pulled-right amount">{{ cart.total_price | money }}</span>
</p>
<p>
{{ 'cart.general.orders_processed_in_currency_html' | t: currency: shop.currency }}
</p>
{% if section.settings.message != blank %}
{{ section.settings.message }}
{% endif %}
<input type="submit" class="button" id="checkout" name="checkout" value="{{ 'cart.general.checkout' | t }}" />
<a href="/collections/all-laces">
{{ 'cart.general.continue_shopping_link_html' | t }}
</a>
</div>
</div>
</div>
</form>
{% endif %}
</div>
</section>
{% schema %}
{
"name": "Cart page",
"settings": [
{
"type": "richtext",
"id": "message",
"label": "Message"
}
]
}
{% endschema %}
解決済! ベストソリューションを見る。
成功
中口聡明 様
ご確認ありがとうございます。
すみません、エラーについてですが全行を確認してみないことにはなんとも言えませんので、一旦ファイルを元の状態に戻していただき以下を確認していただけますでしょうか?
1. 「dollar」を「yen」に変更
完全に推測の域になるのですが、dollar形式の表示があるのであればyen表示も用意されているかもしれません。
2. オリジナルテーマの制作者様に問合せ
こちらが一番確実かと思われます。
宜しくお願い致します。
①
ストア通貨は「円(JPY)」に変更済みですが、Cartの一部分に$表記が残ってしまいます。
これを円表記に修正したいです。
オリジナルテーマを利用されているとのことで私の方で該当箇所を確認することができませんが、商品価格の箇所が以下のような形になっているかご確認をお願い致します。
おそらく「cart-template.liquid」ファイルの中に該当箇所があると思われます。
{{ item.original_price | money }}
②
Cart下部に「translation missing: ja.layout.general.subtotal」などのエラーがでており、修正したい。
こちらはテーマの言語設定に「layout.general.subtotal」が存在しないといったエラーになります。
確認したところ、おそらく以下のように変更すると正しく表示されるようになるかと思われます。
<span>{{ 'cart.general.subtotal' | t }}</span>
ご参考になれば幸いです。
KOICHI_KAMIZURU様
この度はありがとうございます!!
中口聡明と申します。
対応感謝いたします。
オリジナルテーマを利用されているとのことで私の方で該当箇所を確認することができませんが、商品価格の箇所が以下のような形になっているかご確認をお願い致します。
おそらく「cart-template.liquid」ファイルの中に該当
箇所があると思われます。
{{ item.original_price | money }}
こちら確認いたしました。
「cart-template.liquid」にも上記liquidコードを確認したのですが、こちらのテンプレートファイルはテーマに連動していないようでした。
ただ別のファイルで「Asset/template.product.js」には似たコードはございました。
[t._v(t._s(t._f("dollar")(t.item.price)))])]) : t._e(), t._v(" "), 0 == t.item.price ? i("p", { staticClass: "cm-zero-price" }, [i("span", { staticClass: "free-amount" }, [t._v(t._s(t._f("dollar")(t.item.original_price)))])
上記のdollarを削除すると$マークは消えたのですが、下記のようになりました。
削除前の料金表示:「$1980.00」
削除後の料金表示:「198000」
正しい表示:「1980」
もともと質問からズレてきており、恐縮ですがもし原因がわかればお力おかしいただけないでしょうか。
②については表示が正しくできました!!
ありがとうございます!!!
中口聡明 様
ご確認ありがとうございます。
上記のdollarを削除すると$マークは消えたのですが、下記のようになりました。
削除前の料金表示:「$1980.00」
削除後の料金表示:「198000」
正しい表示:「1980」
こちらの正しい表示にする方法ですが、少し無理やりですが以下を試していただけますでしょうか?
// 先頭に以下コードを追加
const formatter = new Intl.NumberFormat('ja-JP', {
style: 'currency',
currency: 'JPY'
});
// t.item.priceの箇所を以下に変更
formatter.format((t.item.price).toString().slice(0, -2))
// t.item.original_priceの箇所を以下に変更
formatter.format((t.item.original_price).toString().slice(0, -2))
私の方で「Asset/template.product.js」のコードをすべて確認できないため、何かJavaScriptのエラーが発生した場合はお知らせください。
宜しくお願い致します。
KOICHI_KAMIZURU様
お忙しいところありがとうございます。
対応感謝いたします。
下記該当箇所に反映してみました。
しかし該当ページが表示されないエラーがでてしまいました。
ご教示いただいたとおりに記載したとつもりなのですが、
当方jsの知識が薄く、指示通り対応できているか不安です。
申し訳ございませんが下記の記載で間違いないか確認いただけないでしょうか。
前後のソースコードも貼り付けております。
ご都合の良いときで結構ですのでよろしくお願いします。
[t.item.price != t.item.original_price ? i("span", { staticClass: "original-amount" }, const formatter = new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY'})[t._v(t._s(t._f("dollar")formatter.format((t.item.original_price).toString().slice(0, -2))))])))]) : t._e(), t._v(" "), i("span", { staticClass: "amount" }, [t._v(t._s(t._f("dollar")formatter.format((t.item.price).toString().slice(0, -2)))])]) : t._e(), t._v(" "), 0 == t.item.price ? i("p", { staticClass: "cm-zero-price" }, [i("span", { staticClass: "free-amount" },
成功
中口聡明 様
ご確認ありがとうございます。
すみません、エラーについてですが全行を確認してみないことにはなんとも言えませんので、一旦ファイルを元の状態に戻していただき以下を確認していただけますでしょうか?
1. 「dollar」を「yen」に変更
完全に推測の域になるのですが、dollar形式の表示があるのであればyen表示も用意されているかもしれません。
2. オリジナルテーマの制作者様に問合せ
こちらが一番確実かと思われます。
宜しくお願い致します。
KOICHI_KAMIZURU様
ご対応ありがとうございます!!
1. 「dollar」を「yen」に変更
完全に推測の域になるのですが、dollar形式の表示があるのであればyen表示も用意されているかもしれません。
→こちら試してみましたがダメでした。。。
2. オリジナルテーマの制作者様に問合せ
こちらが一番確実かと思われます。
→やっぱりそうですよね。連絡が取りづらい上対応なんですがどうにかやってみます。
ご丁寧な対応感謝します。
Shopifyの請求書の支払いが失敗したという通知を受け取って驚いたことはありますか。初めての支払いでエラーが発生したり、これまで何の問題もなく支払いできていたのに突然失敗し...
By Minami_ Sep 8, 20242023年2月、Shopifyはcheckout.liquidを廃止し、Checkout Extensibilityに移行することを発表いたしました。この新しいチェックアウト...
By JasonH Aug 15, 2024「味噌の可能性を、とき放つ」をコンセプトに、豊かな自然に恵まれた信州で味噌の製造販売を行う新田醸造。江戸末期に創業した老舗のみそ屋さんですが、2024年春、顧客層や販売範囲の...
By Minami_ Jul 30, 2024