はじめに
この記事では、Liquidオブジェクトについて日本語訳したものです。
current_tags
、customer
、customer_address
のオブジェクトをまとめていきます。
こちらを参考にしました。
current_tagsオブジェクト
currentオブジェクトの概要についてドキュメントからの引用です。
current_tags
は、コレクションやブログをフィルタリングするために使われている全タグを含む配列です。
Shopifyでは、タグは商品とブログ記事に与えることができ、それぞれのページでフィルタリングが出来ます。
使用するページは、collection.liquid
、blog.liquid
の2ページです。
collection.liquid 内で使用された時
collection.liquidの中では、currenct_tags
には、コレクションをフィルタリングするる全商品タグが含まれています。
以下の例では、コレクション内の全商品の全タグを表示するリストを作成しています。
コレクションが商品タグによってフィルタリングされている場合(currenct_tags
にタグが含まれている場合)、フィルタを解除出来るリンクが表示されます。
コレクションが商品タグでフィルタリングされていない場合(currenct_tags
にタグが含まれていない場合)、顧客がフィルタリング出来るようにするためのリンクが表示されます。
<ul>
{% for tag in collection.all_tags %}
{% if current_tags contains tag %}
<li class="active">{{ tag | link_to_remove_tag: tag }}</li>
{% else %}
<li>{{ tag | link_to_add_tag: tag }}</li>
{% endif %}
{% endfor %}
</ul>
blog.liquid 内で使用した時
blog.liquidの中では、current_tags
にブログのフィルタリングに使われている全記事タグが含まれています。
以下の例では、どの記事タグがブログのフィルタリングに使用されているかを示すパンくずが追加されています。
ブログをフィルタリングしている時、パンくずリストはタグ名を表示し、フィルタリングを解除するためのリンクを表示します。
{% if current_tags %}
<h1>{{ blog.title | link_to: blog.url }} » {{ current_tags.first }}</h1>
{% else %}
<h1>{{ blog.title }}</h1>
{% endif %}
customerオブジェクト
customerオブジェクトの概要についてドキュメントからの引用です。
customer
オブジェクトには、顧客アカウントを持つ顧客に関する情報が含まれています。
customer
オブジェクトはグローバルオブジェクトなので、全てのレイアウトファイル、テンプレートファイル、スニペットファイルでアクセスできます。
さらに、メールテンプレートやチェックアウトの注文ページ、Order Printer
などのアプリからもアクセス剃ることが出来ます。
しかし、customer
オブジェクトは、顧客がログインしてる場合にのみ定義されます。
{% if customer %}
Customer is logged in. You can access the customer
attributes such as {{ customer.first_name }}.
{% endif %}
それでは、customer
オブジェクトの属性を見ていきましょう
customer.accepts_marketing
顧客が購入をした場合にtrue
を返し、購入しなかった場合にfalse
を返します。
customer.addresses
顧客に関連付けられたアドレスの配列を返します。
利用可能な属性の一覧は、後のcustomer_addressオブジェクトを参照ください。
{% for address in customer.addresses %}
{{ address.street }}
{% endfor %}
126 York St, Suite 200 (Shopify Office)
123 Fake St
53 Featherston Lane
customer.addresses_count
顧客に関連付けられたアドレスの数を返します。
customer.default_address
顧客が複数のアカウントを持っている時に、デフォルトに設定されているcustomer_address
(アドレス)を返します。
customer.email
顧客のメールアドレスを返します。
customer.first_name
顧客のファーストネーム(名前)を返します。
customer.has_account
チェックアウト時に入力したメールアドレスが、顧客のアカウントに関連付けられている場合はtrue
を返し、そうでない場合はfalse
を返します。
顧客は、ストアにアカウントを持っていなくてもチェックアウトを完了させることが出来ます。
ストアのアカウントを持っていない場合は、メールテンプレートやチェックアウト時に、customer.has_account
はfalse
になります。
顧客がストアにアカウントを持っていて、チェックアウト時にそのアカウントに関連付けられたメールを入力した場合、customer.has_account
はtrue
となります。
顧客がアカウントにログインしているかどうかに関わらず、メールはアカウントに関連付けられた内容を送信します。
customer.id
顧客のIDを返します。
customer.last_name
顧客のラストネーム(名字)を返します。
customer.last_order
テスト注文以外で、顧客が最後に注文した商品を返します。
Your last order was placed on: {{ customer.last_order.created_at | date: "%B %d, %Y %I:%M%p" }}
Your last order was placed on: April 25, 2014 01:49PM
customer.name
顧客のフルネームを返します。
customer.orders
顧客が発注したすべての注文の配列を返します。
{% for order in customer.orders %}
{{ order.id }}
{% endfor %}
#1088
#1089
#1090
customer.orders_count
顧客が発注した注文の総数を返します。
customer.phone
顧客の電話番号を返します。
customer.tags
顧客に関連付けられたタグをリストを返します。
{% for tag in customer.tags %}
{{ tag }}
{% endfor %}
wholesale regular-customer VIP
customer.tax_exempt
顧客が非課税であるかどうかを返します。
customer.total_spent
顧客が今まで購入した総金額を返します。
customer_addressオブジェクト
customer_addressオブジェクトの概要についてドキュメントからの引用です。
customer_address
は、顧客管理の住所欄の値を返します。
英語の顧客の住所欄
それでは、customer_address
の属性について見ていきましょう。
customer_address.address1
住所欄のの住所(Address)
の値を返します。
customer_address.address2
住所欄の建物名、部屋番号など(Apatment, suite, etc)
の値を返します。
customer_address.city
住所欄の市区町村(City)
の値を返します。
customer_address.company
住所欄の会社(Company)
の値を返します。
customer_address.country
住所欄の国/地域(Coutry/Region)
の値を返します。
{{ customer_address.country }}
Japan
customer_address.country_code
住所欄の国/地域(Coutry/Region)
の値を、ISO 3166-2 標準フォーマットで返します。
国が日本だとJP
になります。
{{ customer_address.country_code }}
CA
customer_address.first_name
住所欄の名(First name)
の値を返します。
customer_address.id
顧客の住所に基づいた、IDを返します。
customer_address.last_name
住所欄の姓(Last name)
の値を返します。
customer_address.phone
住所欄の電話番号(Phone)
の値を返します。
customer_address.province
住所欄の州(province)
の値を返します。
{{ customer_address.province }}
Ontario
customer_address.province_code
住所欄の州(province)に基づいた、省略値を返します。
{{ customer_address.province_code }}
ON
customer_address.street
住所欄の住所(Address)
欄と建物名、部屋番号など(Address2)
の合計値を返します。
{{ shipping_address.street }}
150 Elgin St, Shopify Office
customer_address.zip
住所欄の郵便番号(Postal/Zip)
の値を返します。
Postal
コードは、国がカナダの時、Zip
コードは、アメリカなどで表示されます。
終わりに
今回の記事はここまでになります。
お疲れさまでした。
Shopify アプリのご紹介
Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。