Skip to main content

remote_product

A product that comes from a remote source, inheriting all product functionality and also providing additional context about the remote source.

Properties

Returns true if at least one of the variants of the product is available. Returns false if not.

For a variant to be available, it needs to meet one of the following criteria:

  • The variant.inventory_quantity is greater than 0.
  • The variant.inventory_policy is set to continue.
  • The variant.inventory_management is nil.
  • The variant has an associated delivery profile with a valid shipping rate.

The taxonomy category for the product

Anchor to
compare_at_price

The lowest compare at price of any variants of the product in the currency's subunit.

The value is output in the customer's local (presentment) currency.

For currencies without subunits, such as JPY and KRW, tenths and hundredths of a unit are appended. For example, 1000 Japanese yen is output as 100000.

Tip

Use money filters to output a formatted price.

Anchor to
compare_at_price_max

The highest compare at price of any variants of the product in the currency's subunit.

The value is output in the customer's local (presentment) currency.

For currencies without subunits, such as JPY and KRW, tenths and hundredths of a unit are appended. For example, 1000 Japanese yen is output as 100000.

Tip

Use money filters to output a formatted price.

Anchor to
compare_at_price_min

The lowest compare at price of any variants of the product in the currency's subunit. This is the same as product.compare_at_price.

The value is output in the customer's local (presentment) currency.

For currencies without subunits, such as JPY and KRW, tenths and hundredths of a unit are appended. For example, 1000 Japanese yen is output as 100000.

Tip

Use money filters to output a formatted price.

Anchor to
compare_at_price_varies

Returns true if the variant compare at prices of the product vary. Returns false if not.

The description of the product.

Note

This is the same value as product.description.

A timestamp for when the product was created.

Tip

Use the date filter to format the timestamp.

Anchor to
description

The description of the product.

Note

This is the same value as product.content. The description of remote products is modified to include a link to the remote store's shipping and refund policies, if the shop has defined them.

The first (featured) image attached to the product.

The first (featured) media attached to the product.

Note

Depending on rendering context, the featured media of remote products may be modified to include a badge highlighting the remote source.

Tip

You can use media filters to output media URLs and displays. To learn about how to include media in your theme, refer to Support product media.

Anchor to
first_available_variant

The first available variant of the product.

For a variant to be available, it needs to meet one of the following criteria:

  • The variant.inventory_quantity is greater than 0.
  • The variant.inventory_policy is set to continue.
  • The variant.inventory_management is nil.

Returns true if the product is a gift card. Returns false if not.

Anchor to
has_only_default_variant

Returns true if the product doesn't have any options. Returns false if not.

The ID of the product.

Anchor to
images
array of image

The images attached to the product.

Anchor to
media
array of media

The media attached to the product, sorted by the date it was added to the product.

Note

Depending on rendering context, the media of remote products may be modified to include a badge highlighting the remote source.

Tip

You can use media filters to output media URLs and displays. To learn about how to include media in your theme, refer to Support product media.

Anchor to
metafields

The metafields applied to the product.

Note

Only standard metafields set by the remote store are included. Custom metafields are not.

Anchor to
options
array of string

The option names of the product.

Example
Output the options

You can use the size filter with dot notation to determine how many options a product has.

{% if product.options.size > 0 -%}
{% for option in product.options -%}
- {{ option }}
{%- endfor %}
{%- endif %}

Output

- Size
- Strength
Anchor to
options_by_name

Allows you to access a specific product option by its name.

Example
Output the values for a specific option

When accessing a specific option, the name is case-insensitive.

<label>
Strength
<select>
{%- for value in product.options_by_name['strength'].values %}
<option>{{ value }}</option>
{%- endfor %}
</select>
</label>

Output

<label>
Strength
<select>
<option>Low</option>
<option>Medium</option>
<option>High</option>
</select>
</label>
Anchor to
options_with_values

The options on the product.

The lowest price of any variants of the product in the currency's subunit.

Note

This is the same value as product.price_min.

The value is output in the customer's local (presentment) currency.

For currencies without subunits, such as JPY and KRW, tenths and hundredths of a unit are appended. For example, 1000 Japanese yen is output as 100000.

Tip

Use money filters to output a formatted price.

The highest price of any variants of the product in the currency's subunit.

The value is output in the customer's local (presentment) currency.

For currencies without subunits, such as JPY and KRW, tenths and hundredths of a unit are appended. For example, 1000 Japanese yen is output as 100000.

Tip

Use money filters to output a formatted price.

The lowest price of any variants of the product in the currency's subunit.

Note

This is the same value as product.price.

The value is output in the customer's local (presentment) currency.

For currencies without subunits, such as JPY and KRW, tenths and hundredths of a unit are appended. For example, 1000 Japanese yen is output as 100000.

Tip

Use money filters to output a formatted price.

Anchor to
price_varies

Returns true if the product's variant prices vary. Returns false if not.

Anchor to
published_at

A timestamp for when the product was published.

Tip

Use the date filter to format the timestamp.

Anchor to
quantity_price_breaks_configured?

Returns true if the product has at least one variant with quantity price breaks in the current customer context. Returns false if not.

Information about the remote source from which the remote product came from.

Anchor to
requires_selling_plan

Returns true if all of the variants of the product require a selling plan. Returns false if not.

Note

A variant requires a selling plan if variant.requires_selling_plan is true.

Anchor to
selected_or_first_available_selling_plan_allocation

The currently selected, or first available, selling plan allocation.

The following logic is used to determine which selling plan allocation is returned:

Selling plan allocationReturn criteria
The currently selected allocationReturned if a variant and selling plan are selected.

The selected variant is determined by the variant URL parameter, and the selected selling plan is determined by the selling_plan URL parameter.
The first allocation on the first available variantReturned if no allocation is currently selected.
The first allocation on the first variantReturned if no allocation is currently selected, and there are no available variants.

If the product doesn't have any selling plans, then nil is returned.

Anchor to
selected_or_first_available_variant

The currently selected or first available variant of the product.

Note

The selected variant is determined by the variant URL parameter. The selected_variant parameter is available on product pages only.

For a variant to be available, it needs to meet one of the following criteria:

  • The variant.inventory_quantity is greater than 0.
  • The variant.inventory_policy is set to continue.
  • The variant.inventory_management is nil.
Anchor to
selected_selling_plan

The currently selected selling plan.

If no selling plan is selected, then nil is returned.

Note

The selected selling plan is determined by the selling_plan URL parameter.

Anchor to
selected_selling_plan_allocation

The currently selected selling plan allocation for the currently selected variant.

If no variant and selling plan are selected, then nil is returned.

Note

The selected variant is determined by the variant URL parameter, and the selected selling plan is determined by the selling_plan URL parameter.

Anchor to
selected_variant

The currently selected variant of the product.

If no variant is currently selected, then nil is returned.

Note

The selected variant is determined by the variant URL parameter. This URL parameter is available on product pages URLs only.

Anchor to
selling_plan_groups

The selling plan groups that the variants of the product are included in.

Anchor to
template_suffix

The name of the custom template assigned to the product.

Note

Remote products have pre-determined dedicated template names, always prefixed with "remote." This allows them to be managed independently of regular product templates. E.g. "remote.sponsored"

The title of the product.

Note

In a cart context, the title of a remote product is appended with "Sold by {store name}".

The type of the product.

The relative URL of the product.

If a product is recommended, then the URL contains tracking parameters:

/products/gorgeous-wooden-computer?pr_choice=default&pr_prod_strat=description&pr_rec_pid=13&pr_ref_pid=17&pr_seq=alternating
Anchor to
variants
array of variant

The variants of the product.

Note

Returns a maximum of 250 variants when unpaginated. Tip: Use the paginate tag to choose how many variants to show per page, up to a limit of 50.

Anchor to
variants_count

The total number of variants for the product.

The vendor of the product.

Anchor to

Templates using remote_product

Was this section helpful?