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
6
Help us understand the problem. What are the problem?
Organization

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

はじめに

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

transactionからvariantまでをまとめていきます。

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

The transaction object

トランザクションオブジェクトには、次の属性があります。

transaction.amount

トランザクションの金額を返します。この金額は、顧客の現地通貨でのものです。金額を金額形式で返すには、マネーフィルターのいずれかを使用します。

transaction.created_at

トランザクションが作成されたときのタイムスタンプを返します。日付フィルターを使用してタイムスタンプをフォーマットします。

transaction.gateway

トランザクションに使用された支払いプロバイダーの名前を返します。

input.liquid
{{ transactionl.gateway }}

Cash on Delivery (COD)

transaction.id

トランザクションの一意の数値識別子を返します。

transaction.kind

トランザクションの種類を返します。トランザクションの種類は以下です。

  • authorizationとは、顧客が支払うことを同意したお金を予約することです
  • captureとは、承認の段階で予約されたお金の転送です
  • saleとは、一つのステップで実行される承認とキャプチャの組み合わせです
  • voidとは保留中の承認またはキャプチャのキャンセルです。
  • refundとは獲得したお金の一部または全額を顧客に返金します。

transaction.name

トランザクションの名前を返します

input.liquid
{{ transaction.name }}

c251556901.1

transaction.payment_details

payment_detailsオブジェクトには、トランザクションで使用sれる支払い方法に関連する追加のプロパティが含まれています。

credit_card_company

顧客のクレジットカードを発行した会社の名前を返します。

{{ transaction.payment_details.credit_card_company }}

Visa

credit_card_number

顧客のクレジットカード番号を返します。

最後の4桁を除く全てが隠されます。

{{ transaction.payment_details.credit_card_number }}

•••• •••• •••• 1234

gift_card

トランザクションで使用された場合、ギフトカードのドロップを返します

{{ transaction.payment_details.gift_card.last_four_characters }}

1234

transaction.receipt

支払い領収書に関する支払いプロバイダーからの情報を含むテキストを返します。これには、支払いがテストケースであったかどうかと、トランザクションに含まれている場合は認証コードが含まれます。

transaction.status

トランザクションのステータスを返します。

transaction.status_label

トランザクションのステータスの変換された出力を返します。

English: {{ transaction.status }}
French: {{ transaction.status_label }}

English: Success
French: Réussite

The unit_price_measurement object

unit pricesは、ドイツまたはフランスにある店舗でのみご利用いただけます。

unit_price_measurementオブジェクトは、製品バリアントの単位がどのように測定されるかについての情報を含みます。これは、単価で計算するためにunit_price属性によって使用されます。

unit_price_measurementオブジェクトには、次のプロパティがあります。

Property Type Description
measured_type string 測定のタイプ。たとえば、`valumeなど。
quantity_unit string quantity_valueの測定に使用される測定単位。たとえば、1など。
quantity_value float 含まれているユニットの数量。例えば、2.5など。
reference_unit string reference_valueの量を測定するために使用される単位。例えば、ml。
reference_value integer 基本単価を説明するために使用される参照値。たとえば、100など。

The variant object

バリアントオブジェクトには、次の属性があります。

variant.available

variant が購入可能な場合はtrue、そうでない場合はfalseを返します。

variant が購入可能であるためには、 variant.inventory_quantity がゼロよりも大きいか、 variant.inventory_policy が継続するように設定されていなければなりません。

variant.inventory_management が設定されていない variant も利用可能とみなされます。

variant.varcode

バリアントのバーコードを返します。

variant.compare_at_price

バリアントの比較を価格で返します。金額フィルターを使用して、金額形式で値を返します。

variant.featured_media

バリアントに添付されている最初のメディアアイテムを返します。

varitant.id

バリアントの一意のIDを返します。

variant.image

バリアントに関連付けられている画像オブジェクトを返します。

{{ variant.image.src }}

/products/red-shirt.jpeg

variant.incoming

バリアントに受信在庫がある場合はtrueを返します。

variant.inventory_management

バリアントの在庫追跡サービスを返します。

variant.inventory_policy

管理画面のバリアントオプションで、「ユーザーにこのアイテムの購入を許可する」チェックボックスがチェックされている場合に、文字列continueを返します。

チェックが入っていない場合はdenyを返します。

variant.inventory_quantity

バリアントの在庫数量を返します。

variant.next_incoming_date

次の入荷在庫が到着する日付を返します。

variant.options

バリアントの製品オプション値の配列を返します。

{% for option in variant.options %}
  - {{ option }}
{% endfor %}

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

output.html
  - Red
  - Small
  - Wool

variant.option1

バリアントの最初の製品オプションの値を返します。

variant.option2

バリアントの2番目の製品のオプションの値を返します。

variant.option3

バリアントの3番目のオプションの値を返します。

variant.requires_shipping

バリアントの出荷が要求するように設定されている場合はtrueを返します。

variant.requires_selling_plan

カートに追加されたときにバリアントがselling_planを要求するように設定されている場合に、trueを返します。

variant.selected

バリアントが現在選択されている場合はtrueを返します。選択されたバリアントは、URLパラメータバリアントに基づいています。

variant.selected_selling_plan_allocation

URLパラメータselling_planに基づいたselling_plan_allocationオブジェクトを返します。

例えば、URLパラメーターにvariant=12345&selling_plan=8765を指定すると、valiant12345selling_plan8765の値が返されます。

選択されたselling plan allocationの割当がない場合、このプロパティはnilを返します。

valiant.selling_plan_allocations

バリアントで使用可能なselling_plan_allocationオブジェクトの配列。

valiant.sku

バリアントのSKUを返します。

variant.store_availabilities

StoreAvailabilityオブジェクトのリストを返します。

variant.taxable

バリアントに税金が請求される場合はtrueを返し、そうでない場合はfalseを返します。

variant.title

すべてのバリアントの製品オプション値を、/で連結して返します。

input.liquid
<!-- If variant's option1, option2, and option3 are "Red", "Small", "Wool", respectively -->
{{ variant.title }}

Red / Small / Wool

variant.unit_price

Unitは、ドイツまたはフランスにある店舗でのみご利用いただけます。

製品バリアントのUnitを返します。価格は、広告申し込み情報に適用される割引を反映しています。

variant.unit_price_measurement

製品バリアントのunit_price_measurementオブジェクトを返します。

variant.url

1つの製品バリアントのみに固有のURLを返します。バリアントIDは一意の識別子として使用されます。

input.liquid
{{ variant.url }}

/products/t-shirt?variant=12345678

variant.weight

バリアントの重量をグラムで返します。 weight_with_unitフィルターを使用して、ストアの重量形式またはバリアントで構成された重量単位に変換します。

variant.weight_unit

バリアントで構成されたウェイトの単位を返します。 weight_in_unit属性およびweight_with_unitフィルターと組み合わせて使用​​するとうまく機能します。

variant.weight_in_unit

variant で設定した単位に換算した製品の重量を返します。weight_unit 属性や weight_with_unit フィルタと組み合わせるとうまく動作します。

終わりに

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

お疲れさまでした。

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
6
Help us understand the problem. What are the problem?