Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What are the problem?
Organization

【Shopify】liquidのオブジェクトについてまとめてみた (video, video_source, Deprecated object properties)

はじめに

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

videovideo_source非推奨(Deprecated)のオブジェクトをまとめていきます。

こちらを参考にしました。

videoオブジェクト

videoオブジェクトの概要についてドキュメントからの引用です。

videoオブジェクトには、Shopify管理画面の商品詳細ページからアップロードされた動画に関する情報が入っています。
productオブジェクトのmedia属性からアクセスすることができます。

videoオブジェクトの属性について見ていきましょう。

video.alt

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

video.aspect_ratio

動画ファイルのアスペクト比を返します。

video.duration

動画ファイルの録画時間を返します。

video.id

動画のmedia_idを返します。

video.media_type

videoオブジェクトの型を返します。

これは、productオブジェクトのメディア配列をフィルタリングするために使用されます。

{% assign videos = product.media | where: "media_type", "video" %}

{% for video in videos %}
  {{ video.alt }}
{% endfor %}

Promotional video for stroller
Features video for stroller

video.position

productオブジェクトのメディア配列内での動画(video)のインデックス番号(位置)を返します。

video.preview_image

動画のプレビュー画像を返します。

video.sources

video_sourceオブジェクトの配列を返します。

video_sourceオブジェクト

video_sourceオブジェクトの概要についてドキュメントからの引用です。

video_sourceオブジェクトは、商品に関連付けられた動画のソースファイルに関する情報を返し、videoオブジェクトのsources配列からアクセスできます。

video_source.format

ビデオソースファイルのフォーマットを返します。(mp4/m3u8

video_source.height

ビデオソースファイルの高さを返します。

video_source.mime_type

ビデオソースファイルのMIMEタイプを返します。

MIMEタイプとは、データの形式を指定している

動画のMIMEタイプには、application/x-shockwave-flash(Flash)、video/mp4(MP4)、video/mpeg(MPEG)などがあります。

video_source.url

ビデオソースファイルのURLを返します。

video_source.width

ビデオソースファイルの幅を返します。

非推奨(Deprecated)オブジェクト

非推奨(Deprecated)オブジェクトの概要についてドキュメントからの引用です。

以下のLiquidオブジェクトのプロパティーは非推奨とされ、異なるものに置き換えられました。

checkout object properties

代替オブジェクト:checkout.order

checkout.unavailable_line_items

チェックアウトの利用ができないラインアイテムを返します。

常に空なので非推奨です。

checkout.fulfilled_line_items

チェックアウトで満たされたラインアイテムを返します。

常に空なので非推奨です。

checkout.unfulfilled_line_items

チェックアウトの未充足アインアテムを返します。

常にline_itemsと等しいので非推奨です。

checkout.fulfillment_status

チェックアウトの履行状況を返します。

常にunfulfilledを返すので、非推奨です。

checkout.financial_status

チェックアウトの財務状況を返します。

常にnilを返すので非推奨です。

checkout.fulfilled_at

チェックアウトが完了した日付を返します。

常にnilを返すので非推奨です。

checkout.discount

チェックアウト時に適用されたが保存されていない割引を返します。

注文状況ページでは、保存されていない割引は存在できないため、非推奨です。

checkout.discounts

チェックアウト時に適用された割引を返します。

金額は顧客の現地通貨で表示されます。

{% for discount in checkout.discounts %}
* {{ discount.code }}: {{ discount.amount | money }}
{% endfor %}

* secret-discount: $12.00

全割引タイプと全割引詳細に対応していないため非推奨です。

checkout.cancelled

チェックアウトがキャンセルされたかどうかを返します。

チェックアウトをキャンセルことは出来きず、常にfalseを返すので非推奨です。

discount object properties

discountオブジェクトには、id、コード、金額、貯金額、タイプなどの割引に関する情報が含まれています。

全割引タイプと割引の詳細に対応していないため、非推奨です。

代替オブジェクト:discount_allocationdiscount_application

discountオブジェクトには、以下の

discount.amount

割引額を返します。

discount.code

割引タイトルかコードを返します。

discount.id

割引のIDを返します。

discount.savings

割引額(-500)を返します。discount.amountの符号が負になった値。

discount.title

割引のタイトルかコードを返します。

discount.total_amount

割引が複数のラインアイテムに適用されている時に、その合計金額を返します。

1000円割引したら、1000が返されます。

discount.total_savings

割引が複数のラインアイテムに適用されている時に、その合計金額(負の値)を返します。

1000円割引したら、-1000が返されます。

total_amountの符号が負になった値。

discount.type

割引の種類を返します。

割引のタイプは以下の3通りです。

  • FixedAmountDiscount:固定( 500円引き等 )割引
  • PercentageDiscount:割合( 20% OFF 等 )割引
  • ShippingDiscount:配送割引

line item object properties

line_item.discounts

スクリプトがライナイテムに適用した割引を返します。

この属性は、スクリプトエディタアプリを使用している場合にのみ値を持ちます。

すべての割引タイプとすべての割引の詳細が含まれていないため、非推奨です。

代替案:line_item.discount_allocation

line_item.line_price

ラインアイテムに含まれる全商品の合計価格を返します。

コードの割引が含まれないために非推奨です。

代替案:line_item.final_line_price

line_item.price

Shopify Scriptsからの割引を含めた商品価格を返します。

コードの割引が含まれていないため、非推奨です。

代替案:line_item.final_price

line_item.total_discount

ラインアイテムに適用されている全ての割引の合計金額を返します。

この属性は、スクリプトエディタアプリを使用している場合にのみ値を持ちます。

全ての割引が含まれていないため非推奨です。

代替案:line_item.line_level_total_discount

order object properties

order.discounts

注文に対する割引の配列を返します。

全ての割引タイプと割引詳細が含まれていないため、非推奨です。

{% for discount in order.discounts %}
  Code: {{ discount.code }}
  Savings: {{ discount.savings | money }}
{% endfor %}

Code: SUMMER16
Savings: -$20.00

代替案:order.discount_applications

shop object properties

shop.enabled_locales

shop_localeオブジェクトの配列を返します。

それぞれのオブジェクトは、ストアで公開されているストアロケールを表します。

公開されているロケールを返すことが明確ではなかったため、非推奨となりました。

代替案:shop.published_locales

shop.locale

ストアが現在表示している言語ロケール(enfrpt-BR)を返します。

この値は、リクエストに対するコンテキストであり、ストアリソースのプロパティでないため、非推奨です。

代替案:request.locale

終わりに

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

お疲れさまでした。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
3
Help us understand the problem. What are the problem?