【Shopify】liquidのオブジェクトについてまとめてみた (discount_allocation, discount_application, external_video)

#はじめに
この記事では、Liquidオブジェクトについて日本語訳したものです。

`discount_allocation`、`discount_application`、`external_video`のオブジェクトをまとめていきます。

[こちら](https://shopify-dev.shopifycloud.com/docs/themes/liquid/reference/objects)を参考にしました。

#discount_allocationオブジェクト
discount_allocationオブジェクトの概要について[ドキュメント](https://shopify-dev.shopifycloud.com/docs/themes/liquid/reference/objects/discount-allocation)からの引用です。

>`discout_allocation`には、どのように商品価格が割引されるのかに関するすべての情報が含まれています。
このオブジェクトは、顧客注文（customers/order.liquid）テンプレートや通知（notification）テンプレートからアクセスする事ができます。
※Shopify Plusのマーチャントは、checkout.liquidレイアウトファイル内の`descount_allocation`オブジェクトのプロパティにアクセスすることができます。

`discount_allocation`の属性について見ていきます。

##discount_allocation.amount
特定の割引による商品の割引額を返します。


##discount_allocation.discount_application
ラインアイテム（カートに追加された商品）の割引情報を返します。

#discount_applicationオブジェクト
discount_applicationオブジェクトの概要について[ドキュメント](https://shopify-dev.shopifycloud.com/docs/themes/liquid/reference/objects/discount-application)からの引用です。

>`discount_application`は、注文に適用された割引の情報を返します。
このオブジェクトは、顧客注文（customers/order.liquid）テンプレートや通知（notification）テンプレートからアクセスする事ができます。

`discount_application`の属性について見ていきます。

##discount_application.target_selection
割引対象商品の選択方法を返します。

+ all：全カート商品に割引を適用します。
+ entitled：一部の商品に対して割引を適用します。
+ explicit：特定の商品か配送方法に対して割引を適用します。

##discount_application.target_type
割引を適用する商品の種類を指定します。

以下の値を指定することが出来ます。

+ line_item：カート内の商品
+ shipping_line：配送が必要な商品


##discount_application.title
顧客に表示する割引名です。

例えば、`Welcome10`や`CBBWQQAKYBYY`などです。


##discount_application.total_allocated_amount
割引金額の合計を返します。

##discount_application.type
割引の種類を返します。

`type`には、以下の値があります。

+ automatic
+ discount_code
+ manual
+ script

##discount_application.value
割引の値を返します。

##discount_application.value_type
割引のタイプ（固定値、割合）を返します。

以下のタイプがあります。

+ fixed_amount（固定値）
+ percentage（割合）

#external_videoオブジェクト
external_videoオブジェクトの概要について[ドキュメント](https://shopify-dev.shopifycloud.com/docs/themes/liquid/reference/objects/external-video)からの引用です。

>商品に関連付けられたYouTube動画に関する情報を返します。
`external_video`オブジェクトは、`product`オブジェクトの`media`属性からアクセスすることが出来ます。

`external_video`オブジェクトの属性を見ていきます。

##external_video.alt
Shopify管理画面の商品詳細ページに設定されている動画の`alt`タグを返します。

##external_video.aspect_ratio
YouTube動画のアスペクト比を返します。

##external_video.external_id
YouTube動画のIDを返します。

```.liquid
{% assign external_videos = product.media | where: "media_type", "external_video" %}

{% for external_video in external_videos %}
  {{ external_video.external_id }}
{% endfor %}
```

>neFK-pv2sKY
JthaEfEsLYg

##external_video.host
動画のホスト（youtube等）の名前を返します。


##external_video.id
外部動画の`media_id`を返します。



##external_video.media_type
`external_video`オブジェクトの型を返します。

`product`オブジェクトの media 配列をフィルタリングするために使用されます。

```.liquid
{% assign external_videos = product.media | where: "media_type", "external_video" %}

{% for external_video in external_videos %}
  {{external_video.external_id}}
{% endfor %}
```
>neFK-pv2sKY
JthaEfEsLYg

##external_video.position
`product`オブジェクトの media 配列内の external_video のインデックス番号を返します。


#終わりに
今回の記事はここまでになります。

お疲れさまでした。


# 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