Skip to content

Product Cards

The product-card.liquid snippet is a reusable component for displaying products across the theme. It supports multiple card styles, hover effects, badges, quick view, and color swatches.

{% render 'product-card', product: product %}
<div class="product-grid">
{% for product in collection.products %}
{% render 'product-card',
product: product,
card_style: 'standard',
show_second_image: true,
lazy_load: true
%}
{% endfor %}
</div>
<div class="featured-products">
{% for product in collections['featured'].products limit: 4 %}
{% render 'product-card',
product: product,
card_style: 'overlay',
show_quick_view: true,
show_vendor: true,
show_swatches: true,
image_ratio: 'square'
%}
{% endfor %}
</div>
{% if search.performed %}
<div class="search-results">
{% for item in search.results %}
{% if item.object_type == 'product' %}
{% render 'product-card',
product: item,
card_style: 'minimal',
show_vendor: true,
show_second_image: false,
image_ratio: 'landscape'
%}
{% endif %}
{% endfor %}
</div>
{% endif %}
ParameterTypeDefaultDescription
productObjectRequiredThe product object
card_styleStringstandardCard style: standard, overlay, minimal
show_second_imageBooleanfalseShow second image on hover
show_quick_viewBooleanfalseShow quick view button
show_vendorBooleanfalseDisplay product vendor
show_swatchesBooleanfalseDisplay color swatches
image_ratioStringportraitImage ratio: portrait, square, landscape
lazy_loadBooleantrueLazy load images

Default card with image, title, price, and optional elements. Best for most collection grids.

Image with text overlaid on hover. Best for featured products and visual-heavy layouts.

Clean, text-focused design with small image. Best for search results and sidebar displays.

{% for related_product in related_collection.products limit: 4 %}
{% if related_product.id != product.id %}
{% render 'product-card',
product: related_product,
card_style: 'standard',
show_second_image: true,
show_swatches: false,
image_ratio: 'portrait'
%}
{% endif %}
{% endfor %}