FROM CACHE - jp_header
解決済

テーマ 【Simple】 お客様がログインした後の表示について

noi
Shopify Expert
21 0 5

アカウント登録したお客様がログインした時に、

サイトの上部に

(名前)としてログインしました

と表示されます。

 

翻訳の内容を見てみると

{{ first_name }}としてログインしました

 

となっておりまして、できれば

(苗字)(名前)としてログインしました

 

 としたいのですが、適当に

{{ last_name }} {{ first_name }}としてログインしました

 

としてもエラーになりました。

解決方法ご存知の方がいらっしゃいましたらお助けください。

よろしくお願い申し上げます。

1 件の受理された解決策
Jizo_Inagaki
Shopify Partner
990 373 690

成功

横から失礼します。

おそらく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

Jizo_Inagaki | フリーランスのwebデザイナー
- テーマのカスタム承れます。
- 記載した回答で解決できましたらベストソリューションの承認をお願いします。
- DMや指名による対応はご依頼として有料でのみ承ります。

元の投稿で解決策を見る

4件の返信4

株式会社フルバランス
Shopify Partner
1441 504 644

コード上問題ない様に思えます。

表示されているエラーを教えて頂けますでしょうか?

株式会社フルバランス(Shopify Experts)
Shopify専門のEC成長支援会社です。ストアの新規構築から運用や改善のサポートなどShopifyに関する幅広いサービスを行なっております。
ECの技術・実務・成長、お悩みのことがあれば、お気軽にご相談ください。
『すべてのブランドの特大成長エンジンを搭載する』 株式会社フルバランス
noi
Shopify Expert
21 0 5

kakuma-fblさんありがとうございます!

 

下記のようなエラーとなります。

I18n Error: Missing interpolation value "last_name" for "{{ last_name }} {{ first_name }}としてログインしました" 

Jizo_Inagaki
Shopify Partner
990 373 690

成功

横から失礼します。

おそらく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

Jizo_Inagaki | フリーランスのwebデザイナー
- テーマのカスタム承れます。
- 記載した回答で解決できましたらベストソリューションの承認をお願いします。
- DMや指名による対応はご依頼として有料でのみ承ります。
noi
Shopify Expert
21 0 5