Saltar al contenido
merge.uydevelopers

Objetos /

product

Un producto con sus variantes, imágenes, opciones y metacampos.

Dónde está

Global en la página de producto (templates/product.json). También en collection.products, search.results y en los settings de tipo product y product_list.

Propiedades

PropiedadTipoQué es
product.idtextoIdentificador.
product.titletextoNombre.
product.handletextoHandle (la parte final de la URL).
product.urltexto/products/<handle>.
product.descriptionHTMLDescripción con formato.
product.contentHTMLAlias de description.
product.vendortextoMarca.
product.typetextoTipo de producto.
product.tagsarray de textosEtiquetas.
product.availablebooleanoSi alguna variante tiene stock.
product.pricenúmero (unidades menores)Precio más bajo entre las variantes.
product.price_minnúmero (unidades menores)Precio más bajo.
product.price_maxnúmero (unidades menores)Precio más alto.
product.price_variesbooleanoSi las variantes tienen precios distintos.
product.compare_at_pricenúmero (unidades menores) o nilPrecio de lista (tachado) de la variante elegida.
product.compare_at_price_maxnúmero (unidades menores) o nilPrecio de lista más alto.
product.featured_imageimage o nilPrimera imagen.
product.imagesarray de imageImágenes, en orden.
product.mediaarray de mediaLas imágenes como medios (media_type: "image", position, preview_image).
product.optionsarray de textosNombres de las opciones (Talle, Color).
product.options_with_valuesarrayCada opción con name, position, values y selected_value.
product.has_only_default_variantbooleanoSi el producto no tiene opciones (una sola variante).
product.variantsarray de variantVariantes.
product.selected_variantvariant o nilLa variante de ?variant= en la URL, si hay.
product.selected_or_first_available_variantvariant o nilLa elegida, o la primera con stock, o la primera.
product.first_available_variantvariant o nilLa primera con stock.
product.metafieldsobjetoMetacampos: product.metafields.<namespace>.<key>.

Ejemplo

<h1>{{ product.title }}</h1>
{% assign v = product.selected_or_first_available_variant %}
<p>
  {{ v.price | money }}
  {% if v.compare_at_price > v.price %}<s>{{ v.compare_at_price | money }}</s>{% endif %}
</p>
{% form 'product', product %}
  <input type="hidden" name="id" value="{{ v.id }}">
  <button {% unless v.available %}disabled{% endunless %}>Agregar al carrito</button>
{% endform %}

← shop · variant →