【Shopify】liquidのオブジェクトについてまとめてみた (section~shopまで)

#はじめに
今回は、Liquidのオブジェクトについて一つ一つまとめていきます。

`section`から`selling_plan_allocation`までをまとめていきます。

それでは、頑張っていきましょう。

#The section object
セクションオブジェクトを使用すると、セクションのプロパティと設定値にアクセスできます。

##section.blocks
セクションのブロックの配列を返します。

##section.id
静的セクションの場合、「.liquid」なしでセクションのファイル名を返します。動的セクションの場合、動的に生成されたIDを返します。

##section.settings
テーマエディタで設定したセクション設定のオブジェクトを返します。設定の一意のIDを参照して、設定値を取得します。

```input.liquid
<h2>{{ section.settings.heading }}</h2>
<a href="{{ section.settings.featured_collection.url }}">This week's best selling items</a>
```

アウトプットは以下になります。

````.html
<h2>Weekly promotion</h2>
<a href="/collections/new-this-week">This week's best selling items</a>
```


#The shipping_method object

>価格や合計などの金額の属性は、顧客の現地通貨で表示されます。結果を金額として表示するには、金額フィルタを使用します。

##shipping_method.handle

Shipping_methodオブジェクトには次の属性があります。

```input.html
{{ shipping_method.handle }}
```

>shopify-international-shipping-25.00

##shipping_method.original_price
割引が適用される前の配送方法の元の価格を返します。

```input.html
{{ shipping_method.original_price | money }}
```

>$20.00

##shipping_method.price
配送方法の価格を返します。

```input.html
{{ shipping_method.price | money }}
```

>$15

##shipping_method.title
配送方法のタイトルを返します。

```.html
{{ shipping_method.title }}
```

>International Shipping

#The shop object
ショップオブジェクトには次の属性があります。

##shop.address
shop.addressに属性を追加して、ショップの住所に関する情報を返すことができます。

##shop.address.city
ショップの住所にある都市を返します。

>Ottawa

##shop.address.country
ショップの住所にある国を返します。

>Canada

##shop.address.country_upper
大文字を使用してショップの住所にある国を返します。

>CANADA

結果は、`shop.address.country`で大文字のフィルターを使用した場合と同じです。

##shop.address.province
ショップの住所の州または県を返します。

>Ontario


##shop.address.province_code
ショップの住所にある州または県の省略形を返します。

>ON

##shop.address.street
ショップの住所を返します。 

##shop.address.summary
ショップの住所の概要を返します。


##shop.address.zip
ショップの住所の郵便番号を返します。

##shop.checkout.guest_login
顧客アカウントがチェックアウトを完了するためにオプションであり、URLに`？checkout_url`パラメーターがある場合、`true`を返します。それ以外の場合は、`false`を返します。

`checkout_url`パラメーターは、訪問者がチェックアウト時にリンクからアカウントログインページにアクセスしたときに作成されます。

```.html
https://myshopify.com/account/login?checkout_url=https%3A%2F%2Fmyshopify.com%2F7117957%2Fcheckouts%2F87ff64e2e02b16%3Fkey%3D9b3ee8823%26step%3Dcontact_information
```

##shop.collections_count
ショップ内のコレクションの数を返します。

##shop.currency
ストアの通貨を返します（ISO 4217形式。例えば、USD。これはShopifyの管理画面（レポートを含む）で使用されている通貨です。

お店がマルチカレンシーを使用していない場合、ストア通貨は顧客のローカル通貨と同じになります。あなたの店がマルチカレンシーを使用している場合は、ストアの通貨は顧客の通貨と異なることができます。

カートの通貨を返すには、 `cart.currency` オブジェクトを参照してください。

チェックアウトの通貨を返すには、`checkout.currency` オブジェクトを参照してください。

ストアが使用できる通貨オブジェクトのリストを返すには、`shop.enabled_currencies` オブジェクトを参照してください。

##shop.customer_accounts_enabled
チェックアウトを完了するために顧客アカウントが必要な場合はtrueを返します。それ以外の場合は、falseを返します。

##shop.customer_accounts_optional
顧客アカウントがチェックアウトを完了するためにオプションである場合、trueを返します。それ以外の場合は、falseを返します。

##shop.description
ストアの説明を返します。

##shop.domain
ショップのプライマリドメインを返します。

##shop.email
ショップのメールアドレスを返します。

##shop.enabled_currencies
ストアが受け付ける通貨オブジェクトのリストを返します。

カートの通貨を返すには、 cart.currency オブジェクトを参照ください。

チェックアウトの通貨を返すには、checkout.currency オブジェクトを参照ください。

ストアの通貨を返すには、shop.currency オブジェクトを参照してください。

##shop.enabled_payment_types
お店で受け入れられているクレジットカード、暗号通貨、その他の支払いタイプの配列を返します。支払いタイプのリストは、あなたの店の有効な支払いプロバイダで受け入れられているものに基づいています。

支払いタイプのロゴを表示するには、payment_type_svg_tag フィルタを使用してインライン SVG を表示します。または、payment_type_img_url フィルタを使用して SVG 画像へのリンクを表示することもできます。

##shop.metafields
ショップのメタフィールドを返します。メタフィールドは、ShopifyAPIを使用してのみ設定できます。

##shop.money_format
Shopifyが通貨を表示せずにお金をフォーマットするために使用する文字列を返します。

##shop.money_with_currency_format
Shopifyが通貨を表示しながらお金をフォーマットするために使用する文字列を返します。

##shop.name
ショップの名前を返します。

##shop.password_message
ショップのパスワードページメッセージを返します。

##shop.permanent_domain
ショップの.myshopify.comURLを返します。

##shop.phone
ショップの電話番号を返します。

##shop.policies
ショップのポリシーオブジェクトの配列を返します。これらのポリシーは、Shopify管理者のストアの法的設定で設定できます。

```.html
<ul>
{% for policy in shop.policies %}
  <li>{{ policy.title }}</li>
{% endfor %}
</ul>
```

アウトプットは以下になります。

```.html
<ul>
  <li>Privacy policy</li>
  <li>Refund policy</li>
  <li>Shipping policy</li>
  <li>Terms of service</li>
</ul>
```

個々のポリシーは、ショップオブジェクトで直接参照できます。各ポリシーには、独自のポリシーオブジェクトがあります。


```input.liquid
{{ shop.privacy_policy.title }}
```

>Privacy policy

##shop.privacy_policy
ストアのプライバシーポリシーのポリシーオブジェクトを返します。

##shop.published_locales
shop_localeオブジェクトの配列を返します。各オブジェクトは、ショップで公開されているショップロケールを表します。

```.liquid
{% for locale in shop.published_locales %}
  {{ locale.name }} ({{ locale.iso_code }})
{% endfor %}
```

##shop.refund_policy
ストアの払い戻しポリシーのポリシーオブジェクトを返します。

##shop.shipping_policy
ストアの配送ポリシーのポリシーオブジェクトを返します。

##shop.subscription_policy
ストアのサブスクリプションポリシーのポリシーオブジェクトを返します。

##shop.terms_of_service
ストアの利用規約のポリシーオブジェクトを返します。

##shop.products_count
ショップ内の商品の数を返します。

##shop.secure_url
httpsプロトコルが付加されたショップの完全なURLを返します。

```input.liquid
{{ shop.secure_url }}
```

>https://johns-apparel.com

##shop.taxes_included
商品の価格に税金が含まれている場合はtrueを返します。それ以外の場合は、falseを返します。 これは、ストアの税設定で設定できます。

```input.liquid
{% if shop.taxes_included %}
  Taxes included
{% else %}
  Excluding taxes
{% endif %}
```

>Taxes included

##shop.types
ショップ内のすべての一意の商品タイプの配列を返します。

```.liquid
{% for product_type in shop.types %}
  {{ product_type | link_to_type }}
{% endfor %}
```

##shop.url
ショップの完全なURLを返します。

```input.html
{{ shop.url }}
```

>http://johns-apparel.com


##shop.vendors
ショップ内のすべての一意のベンダーの配列を返します

```.liquid
{% for product_vendor in shop.vendors %}
  {{ product_vendor | link_to_vendor }}
{% endfor %}
```

# Shopify アプリのご紹介

Shopify アプリである、「商品ページ発売予告アプリ | リテリア Coming Soon」は、商品ページを買えない状態のまま、発売日時の予告をすることができるアプリです。Shopify で Coming Soon 機能を実現することができます。

https://coming-soon.reterior.jp/

https://apps.shopify.com/shopify-application-314?locale=ja&surface_detail=%E3%83%AA%E3%83%86%E3%83%AA%E3%82%A2&surface_inter_position=1&surface_intra_position=1&surface_type=search