Liquid、JavaScriptなどに関する質問
アカウント登録したお客様がログインした時に、
サイトの上部に
(名前)としてログインしました
と表示されます。
翻訳の内容を見てみると
{{ first_name }}としてログインしました
となっておりまして、できれば
(苗字)(名前)としてログインしました
としたいのですが、適当に
{{ last_name }} {{ first_name }}としてログインしました
としてもエラーになりました。
解決方法ご存知の方がいらっしゃいましたらお助けください。
よろしくお願い申し上げます。
解決済! ベストソリューションを見る。
成功
横から失礼します。
おそらくhrader.liquidで{{ last_name }}という変数の宣言と翻訳フィルターへの設定をされていないのではと思います。
{{ last_name }}という変数を使う方法ではありませんが一例を記載します。
header.liquidにある下記の部分が該当するかと思います。
{% if customer.first_name != blank %}
{% capture first_name %}<a href="{{ routes.account_url }}">{{ customer.first_name }}</a>{% endcapture %}
{{ 'layout.customer.logged_in_as_html' | t: first_name: first_name }}
{% else %}
上記部分を以下のように変更すれば実現できるのではと思います。
{% if customer.first_name != blank %}
{% if customer.last_name != blank %}
{% capture customer_name %}{{ customer.last_name }} {{ customer.first_name }}{% endcapture %}
{% else %}
{% capture customer_name %}{{ customer.first_name }}{% endcapture %}
{% endif %}
{% capture first_name %}<a href="{{ routes.account_url }}">{{ customer_name }}</a>{% endcapture %}
{{ 'layout.customer.logged_in_as_html' | t: first_name: first_name }}
{% else %}
変数名が first_name のままでは出力内容に合わないのですが、ここを変更するならもう少し作業範囲を広げる必要があるため、手間を考えてとりあえずこの形にしています。
この方法であれば「言語の編集」のところは以下のままでよく、変更する必要はありません。
{{ first_name }}としてログインしました
なおcaptureやassignなどがよくわからないという場合には以下などのドキュメントをご覧ください。
https://shopify.dev/docs/themes/liquid/reference/tags/variable-tags
コード上問題ない様に思えます。
表示されているエラーを教えて頂けますでしょうか?
kakuma-fblさんありがとうございます!
下記のようなエラーとなります。
I18n Error: Missing interpolation value "last_name" for "{{ last_name }} {{ first_name }}としてログインしました"
成功
横から失礼します。
おそらくhrader.liquidで{{ last_name }}という変数の宣言と翻訳フィルターへの設定をされていないのではと思います。
{{ last_name }}という変数を使う方法ではありませんが一例を記載します。
header.liquidにある下記の部分が該当するかと思います。
{% if customer.first_name != blank %}
{% capture first_name %}<a href="{{ routes.account_url }}">{{ customer.first_name }}</a>{% endcapture %}
{{ 'layout.customer.logged_in_as_html' | t: first_name: first_name }}
{% else %}
上記部分を以下のように変更すれば実現できるのではと思います。
{% if customer.first_name != blank %}
{% if customer.last_name != blank %}
{% capture customer_name %}{{ customer.last_name }} {{ customer.first_name }}{% endcapture %}
{% else %}
{% capture customer_name %}{{ customer.first_name }}{% endcapture %}
{% endif %}
{% capture first_name %}<a href="{{ routes.account_url }}">{{ customer_name }}</a>{% endcapture %}
{{ 'layout.customer.logged_in_as_html' | t: first_name: first_name }}
{% else %}
変数名が first_name のままでは出力内容に合わないのですが、ここを変更するならもう少し作業範囲を広げる必要があるため、手間を考えてとりあえずこの形にしています。
この方法であれば「言語の編集」のところは以下のままでよく、変更する必要はありません。
{{ first_name }}としてログインしました
なおcaptureやassignなどがよくわからないという場合には以下などのドキュメントをご覧ください。
https://shopify.dev/docs/themes/liquid/reference/tags/variable-tags
Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 2024