Liquid、JavaScriptなどに関する質問
お世話になっております。
一度こちらで質問させていただいたのですが、解決できなかった&別の問題が発生したので、再度投稿させていただきます。
お客様への配達完了メールで、追跡番号を表示させる際に、配送業者名がアルファベット表記になってしまいます(例えば、Yamanto(JA)など)
1. それを「ヤマト運輸」と表示させたく、下記のようなコードを入力しました。
結果、添付画像のような、「Yamato (JA) Yamato(JA)」という表示がされるようになってしまいました。
何が間違っているのでしょうか。
2. 弊社ではヤマトと佐川を併用しているため、下記のように、ヤマトと佐川それぞれreplaceコードを入れてあるのですが、これは合っているでしょうか。
テーマは、dawnです。
よろしくお願い致します。
{% if fulfillment.tracking_numbers.size > 0 %}
<p class="disclaimer__subtext">
<br/>
{% if fulfillment.tracking_numbers.size == 1 and fulfillment.tracking_company and fulfillment.tracking_url %}
{{ fulfillment.tracking_company | replace: 'Yamato(JA)', 'ヤマト運輸' }}
{{ fulfillment.tracking_company| replace:'Sagawa(JA)','佐川急便' }}
追跡番号: <a href="{{ fulfillment.tracking_url }}">{{ fulfillment.tracking_numbers.first }}</a>
{% elsif fulfillment.tracking_numbers.size == 1 %}
追跡番号: {{ fulfillment.tracking_numbers.first }}
{% else %}
{{ fulfillment.tracking_company | replace: 'Yamato(JA)', 'ヤマト運輸' }}
{{ fulfillment.tracking_company| replace:'Sagawa(JA)','佐川急便' }}
追跡番号:<br />
{% for tracking_number in fulfillment.tracking_numbers %}
{% if fulfillment.tracking_urls[forloop.index0] %}
<a href="{{ fulfillment.tracking_urls[forloop.index0] }}">
{{ tracking_number }}
</a>
{% else %}
{{ tracking_number }}
{% endif %}
<br/>
{% endfor %}
{% endif %}
</p>
{% endif %}
解決済! ベストソリューションを見る。
成功
添付いただいたパワポのデータを拝見したところ、
ヤマトの名称が『Yamato (JA)』となっている様にお見受けしました。
お送りしていたソースでは『Yamato(JA)』の時にヤマト運輸としており、
Yamatoの後に半角スペースがないため文字が置き換わらず、
『Yamato (JA)』が表示されている様です。
お送りいただいたソースの下記部分を
{% if fulfillment.tracking_company == 'Yamato(JA)' %}
{% assign tracking_company_name = 'ヤマト運輸' %}
{% elsif fulfillment.tracking_company == 'Sagawa(JA)' %}
{% assign tracking_company_name = '佐川急便' %}
{% else %}
下記に変更いただけましたら、日本語が表示する様になるかと思われます。
{% if fulfillment.tracking_company == 'Yamato (JA)' %}
{% assign tracking_company_name = 'ヤマト運輸' %}
{% elsif fulfillment.tracking_company == 'Sagawa (JA)' %}
{% assign tracking_company_name = '佐川急便' %}
{% else %}
半角スペースかはいただいたパワポに貼り付けていただいた画像データから判断しましたので、
日本語に切り替わらない場合、メール文に表示されているテキストに置き換えていただければと思います。
(キュー小坂)
ご質問いただいています、配送業社名を日本語に変更されたい件ですが、
1.につきましては、下記の2行がそれぞれ「Yamato(JA)」を出力しているため、
「Yamato(JA) Yamato(JA)」と表示されているのではと推測されます。
{{ fulfillment.tracking_company | replace: 'Yamato(JA)', 'ヤマト運輸' }}
{{ fulfillment.tracking_company| replace:'Sagawa(JA)','佐川急便' }}
実際に出力された状態↓
Yamato(JA) Yamato(JA)
2.につきましては、1の状況より、replaceが効いていないと推測されます。
上記の状況より「replace」で処理を行うのではなく、fulfillment.tracking_companyの中身を判断し、ヤマト運輸と佐川急便に内容を変更することで、ご希望に添えるのではと思われますので、ご質問内容に記載いただいているコードを修正したサンプルコードを下記に記載させていただきます。
サンプルコード
{% if fulfillment.tracking_numbers.size > 0 %}
{% if fulfillment.tracking_company == 'Yamato(JA)' %}
{% assign tracking_company_name = 'ヤマト運輸'%}
{% elsif fulfillment.tracking_company == 'Sagawa(JA)' %}
{% assign tracking_company_name = '佐川急便'%}
{% else %}
{% assign tracking_company_name = fulfillment.tracking_company %}
{% endif %}
<p class="disclaimer__subtext">
<br/>
{% if fulfillment.tracking_numbers.size == 1 and fulfillment.tracking_company and fulfillment.tracking_url %}
{{ tracking_company_name }} 追跡番号: <a href="{{ fulfillment.tracking_url }}">{{ fulfillment.tracking_numbers.first }}</a>
{% elsif fulfillment.tracking_numbers.size == 1 %}
追跡番号: {{ fulfillment.tracking_numbers.first }}
{% else %}
{{ tracking_company_name }} 追跡番号:<br />
{% for tracking_number in fulfillment.tracking_numbers %}
{% if fulfillment.tracking_urls[forloop.index0] %}
<a href="{{ fulfillment.tracking_urls[forloop.index0] }}">
{{ tracking_number }}
</a>
{% else %}
{{ tracking_number }}
{% endif %}
<br/>
{% endfor %}
{% endif %}
</p>
{% endif %}
ありがとうございます。
さっそくやってみたのですが、Yamato(JA)Yamato(JA)と連続になってしまう部分は解消されたのですが、日本語表記にはならずでした…。
どうしたものでしょう…。
実際のソースを拝見しないと判断できない部分はございますが、
{{ tracking_company_name }} 追跡番号
部分が
{{ fulfillment.tracking_company }} 追跡番号
と記載されていたりしませんでしょうか。
実際のソースを拝見し確認させていただければ、もう少し確認できるかと思いますので、
差し支えなければ、対象のメール文を添付頂けたりしますでしょうか。
(キュー小坂)
株式会社Q
小坂様
お返事ありがとうございます。
最初の回答でいただいたサンプルコード内12行目と16行目の部分ですよね?
確認したのですが、いただいたものをそのままコピペしていたので、
{{ tracking_company_name }} 追跡番号
になってしました。
今入っているコード全文と、これで送られてくるメール画像を添付します。
よろしくお願い致します。
{% if fulfillment.item_count == item_count %}{% endif %}
{% capture email_body %}
{{ billing_address.last_name }} {{ billing_address.first_name }} 様
<br>
<br>ご注文いただいた商品の配送が完了致しました。
<br>配達状況は、追跡番号にてご確認いただけます。
<br>お手元に届くまで、楽しみにお待ちくださいませ。
<br>
<br>今後とも、どうぞよろしくお願い致します。{% endcapture %}
{% capture email_emphasis %}配達完了予定日 <strong>{{fulfillment.estimated_delivery_at | date: "%B %d, %Y"}}</strong>{% endcapture %}
<!DOCTYPE html>
<html lang="ja">
<head>
<title>{{ email_title }}</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" type="text/css" href="/assets/notifications/styles.css">
<style>
.button__cell { background: {{ shop.email_accent_color }}; }
a, a:hover, a:active, a:visited { color: {{ shop.email_accent_color }}; }
</style>
</head>
<body>
<table class="body">
<tr>
<td>
<table class="header row">
<tr>
<td class="header__cell">
<center>
<table class="container">
<tr>
<td>
<table class="row">
<tr>
<td class="shop-name__cell">
{%- if shop.email_logo_url %}
<img src="{{shop.email_logo_url}}" alt="{{ shop.name }}" width="{{ shop.email_logo_width }}">
{%- else %}
<h1 class="shop-name__text">
<a href="{{shop.url}}">{{ shop.name }}</a>
</h1>
{%- endif %}
</td>
<td class="order-number__cell">
<span class="order-number__text">
ご注文番号 {{ order_name }}
</span>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
<table class="row content">
<tr>
<td class="content__cell">
<center>
<table class="container">
<tr>
<td>
<h2>{{ email_title }}</h2>
<p>{{ email_body }}</p>
{% if fulfillment.estimated_delivery_at %}
<p>{{ email_emphasis }}</p>
{% endif %}
{% if order_status_url %}
<table class="row actions">
<tr>
<td class="empty-line"> </td>
</tr>
<tr>
<td class="actions__cell">
<table class="button main-action-cell">
<tr>
<td class="button__cell"><a href="{{ order_status_url }}" class="button__text">ご注文を見る</a></td>
</tr>
</table>
{% if shop.url %}
<table class="link secondary-action-cell">
<tr>
<td class="link__cell">または<a href="{{ shop.url }}">ショップにアクセスする</a></td>
</tr>
</table>
{% endif %}
</td>
</tr>
</table>
{% else %}
{% if shop.url %}
<table class="row actions">
<tr>
<td class="actions__cell">
<table class="button main-action-cell">
<tr>
<td class="button__cell"><a href="{{ shop.url }}" class="button__text">ショップにアクセスする</a></td>
</tr>
</table>
</td>
</tr>
</table>
{% endif %}
{% endif %}
{% if fulfillment.tracking_numbers.size > 0 %}
{% if fulfillment.tracking_company == 'Yamato(JA)' %}
{% assign tracking_company_name = 'ヤマト運輸' %}
{% elsif fulfillment.tracking_company == 'Sagawa(JA)' %}
{% assign tracking_company_name = '佐川急便' %}
{% else %}
{% assign tracking_company_name = fulfillment.tracking_company %}
{% endif %}
<p class="disclaimer__subtext">
<br/>
{% if fulfillment.tracking_numbers.size == 1 and fulfillment.tracking_company and fulfillment.tracking_url %}
{{ tracking_company_name }} 追跡番号: <a href="{{ fulfillment.tracking_url }}">{{ fulfillment.tracking_numbers.first }}</a>
{% elsif fulfillment.tracking_numbers.size == 1 %}
追跡番号: {{ fulfillment.tracking_numbers.first }}
{% else %}
{{ tracking_company_name }} 追跡番号:<br />
{% for tracking_number in fulfillment.tracking_numbers %}
{% if fulfillment.tracking_urls[forloop.index0] %}
<a href="{{ fulfillment.tracking_urls[forloop.index0] }}">
{{ tracking_number }}
</a>
{% else %}
{{ tracking_number }}
{% endif %}
<br/>
{% endfor %}
{% endif %}
</p>
{% endif %}
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
<table class="row section">
<tr>
<td class="section__cell">
<center>
<table class="container">
<tr>
<td>
<h3>配送中のアイテム</h3>
</td>
</tr>
</table>
<table class="container">
<tr>
<td>
<table class="row">
{% for line in fulfillment.fulfillment_line_items %}
<tr class="order-list__item">
<td class="order-list__item__cell">
<table>
<td>
{% if line.line_item.image %}
<img src="{{ line.line_item | img_url: 'compact_cropped' }}" align="left" width="60" height="60" class="order-list__product-image"/>
{% endif %}
</td>
<td class="order-list__product-description-cell">
{% if line.line_item.product.title %}
{% assign line_title = line.line_item.product.title %}
{% else %}
{% assign line_title = line.line_item.title %}
{% endif %}
{% if line.quantity < line.line_item.quantity %}
{% capture line_display %} {{ line.quantity }} of {{ line.line_item.quantity }} {% endcapture %}
{% else %}
{% assign line_display = line.line_item.quantity %}
{% endif %}
<span class="order-list__item-title">{{ line_title }} × {{ line_display }}</span><br/>
{% if line.line_item.variant.title != 'Default Title' %}
<span class="order-list__item-variant">{{ line.line_item.variant.title }}</span>
{% endif %}
</td>
</table>
</td>
</tr>{% endfor %}
</table>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
<table class="row footer">
<tr>
<td class="footer__cell">
<center>
<table class="container">
<tr>
<td>
<p class="disclaimer__subtext">ご不明な点がございましたら、このメールにご返信いただくか、<a href="mailto:{{ shop.email }}">{{ shop.email }}</a>までご連絡ください。</p>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
<img src="{{ 'notifications/spacer.png' | shopify_asset_url }}" class="spacer" height="1" />
</td>
</tr>
</table>
</body>
</html>
成功
添付いただいたパワポのデータを拝見したところ、
ヤマトの名称が『Yamato (JA)』となっている様にお見受けしました。
お送りしていたソースでは『Yamato(JA)』の時にヤマト運輸としており、
Yamatoの後に半角スペースがないため文字が置き換わらず、
『Yamato (JA)』が表示されている様です。
お送りいただいたソースの下記部分を
{% if fulfillment.tracking_company == 'Yamato(JA)' %}
{% assign tracking_company_name = 'ヤマト運輸' %}
{% elsif fulfillment.tracking_company == 'Sagawa(JA)' %}
{% assign tracking_company_name = '佐川急便' %}
{% else %}
下記に変更いただけましたら、日本語が表示する様になるかと思われます。
{% if fulfillment.tracking_company == 'Yamato (JA)' %}
{% assign tracking_company_name = 'ヤマト運輸' %}
{% elsif fulfillment.tracking_company == 'Sagawa (JA)' %}
{% assign tracking_company_name = '佐川急便' %}
{% else %}
半角スペースかはいただいたパワポに貼り付けていただいた画像データから判断しましたので、
日本語に切り替わらない場合、メール文に表示されているテキストに置き換えていただければと思います。
(キュー小坂)
株式会社Q
小坂様
ありがとうございます!
無事解決しました。
半角スペース、気がつきませんでした。細かいところに気づいてくださり、感謝です。
本当にありがとうございました。
オンラインストアを運営する中で、商品の返品や交換は重要なプロセスとなります。Shopify管理画面を通して簡単に返品や交換が行えることをご存知でしょうか?希望する場合は、お客...
By Mirai Sep 15, 2024Shopifyの請求書の支払いが失敗したという通知を受け取って驚いたことはありますか。初めての支払いでエラーが発生したり、これまで何の問題もなく支払いできていたのに突然失敗し...
By Minami_ Sep 8, 20242023年2月、Shopifyはcheckout.liquidを廃止し、Checkout Extensibilityに移行することを発表いたしました。この新しいチェックアウト...
By JasonH Aug 15, 2024