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

Static HTML vs dynamic product grids

Product grid HTML from design tools shows hardcoded cards—fixed images, titles, and prices that go stale the moment inventory changes. On Shopify, product grids must loop over collection.products and render live data: featured images, variant prices, compare-at badges, and sold-out states.

Converting product grid HTML to Liquid means preserving your card layout and CSS while replacing static product markup with a {% for product in collection.products %} loop and schema settings for collection selection and product count.

Schema settings for merchandising grids

Essential schema fields include collection (collection picker), products_to_show (range), columns_desktop (range or select), show_vendor (checkbox), and show_secondary_image (checkbox). Section heading and CTA link settings let merchants label the grid and drive traffic to the full collection.

The "{% schema %}" block should wire the collection setting to the Liquid loop. Merchants pick a collection in the editor; the grid updates automatically when products are added or removed from that collection.

Card layout and responsive columns

Your HTML grid likely uses CSS grid or flexbox with fixed column counts. Convert column counts to range settings so merchants tune density. Scoped CSS with section.id keeps card spacing isolated from theme product card styles.

On mobile, grids typically collapse to two columns or a horizontal scroll. Preserve those breakpoints in scoped styles while exposing padding and gap as optional range settings for fine-tuning.

Featured collection patterns across themes

Dawn's featured-collection section is the reference pattern—collection picker, product limit, and card grid. Prestige and Impulse add badge overlays and quick-add buttons. Your converted grid should follow the same data wiring even if the visual design differs.

HTMLToLiquid Converter maps product card HTML to collection-aware Liquid, generates schema with collection picker settings, and outputs scoped CSS that respects your custom card design.

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.

Explore

Start converting HTML

Paste your markup and export production-ready Shopify Liquid sections with schema and blocks.

Trust

Built for serious Shopify development

Production-ready sections, validated schema, and workflows theme engineers trust on client projects.

Production-ready output

Export complete section.liquid files with schema, presets, and scoped CSS ready for theme repos.

Built for Shopify developers

Designed for freelancers, agencies, and in-house teams shipping OS 2.0 sections weekly.

OS 2.0 compatible

Output follows Online Store 2.0 conventions—JSON templates, blocks, and valid schema JSON.

Schema validation

Automated checks catch missing presets, invalid setting ids, and common Liquid issues early.

AI-assisted workflow

Optional AI structure detection with deterministic fallback for reliable section generation.

Theme compatibility

Sections align with Dawn, Prestige, Broadcast, Impulse, and custom JSON-template themes.

Generate Shopify sections

Free AI-powered converter — OS 2.0 compatible output with schema validation.

Start converting HTML