Product Grid

Convert product grid HTML to Liquid

Turn static product card grids into Shopify sections wired to collection objects—with schema for collection picker, product limits, and card layout options.

Component overview

Product grids that pull live Shopify data

Product grid HTML

Static HTML product cards cannot stay static—either bind to collection.products loop on collection templates or use section settings with collection picker for featured grids on homepage. Converter output is the card markup; you wire the data source in Liquid.

Liquid strategy

Section setting: collection picker. Loop: {% for product in collections[section.settings.collection].products limit: section.settings.products_to_show %}. Render card snippet inside loop. Paginate on collection templates, limit on homepage rows.

Schema for product grids

collection type setting, range for products_to_show, checkbox for show_vendor/show_secondary_image. Card HTML from converter becomes snippet or inline loop body. image_url widths sized for grid density.

Performance

limit: cap on homepage (4–8 typical). Lazy load card images below fold. Avoid nested product loops inside block loops. Do not load quick-buy JS on every page unless section setting enables it.

Common grid mistakes

Hardcoded product titles in HTML left unconverted. No collection picker—merchants cannot change featured row. img_url filter still in output. 50-product loop without paginate on collection page.

Grid QA checklist

Collection picker change updates products. Sold-out styling works. Card links to correct PDP. Mobile column count matches design. Empty collection handled gracefully.

Examples

Product grid HTML to Liquid conversion example

How static product cards become a collection-driven Shopify section.

HTML structure

<div class="product-grid">
  <div class="product-card">
    <img src="product.jpg" alt="">
    <h3>Product name</h3>
    <span>$49.00</span>
  </div>
</div>

Static cards signal the layout pattern—the converter replaces inner content with a product loop.

Liquid output

{% assign collection = collections[section.settings.collection] %}
{% for product in collection.products limit: section.settings.limit %}
  <div class="product-card">
    {{ product.featured_image | image_url: width: 600 | image_tag }}
    <h3>{{ product.title }}</h3>
    <span>{{ product.price | money }}</span>
  </div>
{% endfor %}

Live product data replaces hardcoded values—prices and images stay current automatically.

Schema settings

"settings": [
  { "type": "collection", "id": "collection", "label": "Collection" },
  { "type": "range", "id": "limit", "min": 2, "max": 12, "label": "Products" },
  { "type": "text", "id": "heading", "label": "Heading" }
]

Collection picker and range settings give merchants merchandising control in the editor.

Compare-at badge

{% if product.compare_at_price > product.price %}
  <span class="badge">Sale</span>
{% endif %}

Conditional Liquid renders sale badges when compare-at pricing is set on the product.

Use cases

Shopify product grid use cases

Merchandising layouts converted from HTML to Liquid.

Featured collection rows

Homepage grids pulling from a curated collection with heading and view-all CTA settings.

Custom product card layouts

Bespoke card designs with badge overlays, vendor lines, and secondary image hover effects.

Category merchandising grids

Collection landing slices with configurable product limits and column density per template.

Workflow

How product grid conversion works

Paste product card HTML and export collection-aware Liquid with schema, scoped CSS, and validation.

  1. 01

    Paste HTML

    Import product grid markup with card structure.

  2. 02

    Analyze structure

    Identify card layout and map to collection loop.

  3. 03

    Generate Liquid

    Wire product.title, price, and image filters.

  4. 04

    Generate schema

    Add collection picker, limit, and heading settings.

  5. 05

    Export section

    Drop the grid section into homepage or collection templates.

Related

Guide

HTML to Liquid Converter

Free guide — paste component HTML and export a complete Shopify section file.

Open guide →

Tool

Open converter workspace

Paste component HTML and export a complete Shopify section file.

Open guide →

Generator

Shopify Section Generator

Generate OS 2.0 sections with schema, blocks, and presets.

Open guide →

Schema

Liquid Schema Generator

Design schema JSON that pairs with converted component Liquid.

Open guide →

Tool

Shopify Liquid Converter

Convert HTML markup into clean Shopify Liquid templates.

Open guide →

Blog

Component conversion guides

Read tutorials on sections, schema, and block patterns.

Open guide →

Theme

HTML to Dawn Theme

Ship FAQ and content sections on Shopify's reference theme.

Open guide →

Theme

HTML to Prestige Theme

Adapt component sections for Prestige editorial storefronts.

Open guide →

Theme

HTML to Broadcast Theme

Deploy story-driven component sections on Broadcast.

Open guide →

Theme

HTML to Impulse Theme

Use conversion-focused component sections on Impulse.

Open guide →

Component

Convert FAQ HTML to Liquid

Turn accordion FAQs into block-based Shopify sections.

Open guide →

Component

Convert slider HTML to Liquid

Map carousels to reorderable slide blocks.

Open guide →

Component

Convert banner HTML to Liquid

Export promo and announcement banners with schema settings.

Open guide →

Component

Convert hero section HTML to Liquid

Build campaign heroes with editable headings and CTAs.

Open guide →

Component

Convert tabs HTML to Liquid

Convert tabbed panels into merchant-editable sections.

Open guide →

Component

Convert accordion HTML to Liquid

Export collapsible panels as repeatable Shopify blocks.

Open guide →

Convert HTML to Shopify Liquid

Paste HTML & generate Liquid with schema, blocks, and scoped CSS. No signup required.