FROM CACHE - jp_header

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

解決済
noi
Shopify Expert
17 0 3

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

サイトの上部に

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

と表示されます。

 

翻訳の内容を見てみると

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

 

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

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

 

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

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

 

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

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

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

  • I
1 件の受理された解決策

ベストソリューション
Jizo_Inagaki
Shopify Partner
581 238 551

成功

横から失礼します。

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

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

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

株式会社フルバランス(Shopify Experts)
東京・高田馬場 18期目のWebデザイン・システム制作会社です。Shopify / Shopify Plusの制作・運営をサポートしております。
https://fbl.jp/
noi
Shopify Expert
17 0 3

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

 

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

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

Jizo_Inagaki
Shopify Partner
581 238 551

成功

横から失礼します。

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