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