The Products component displays a list of products on any page or template. It supports filtering, sorting, pagination, and optional image galleries, making it suitable for category pages, featured product sections, search results, or custom product listings.
Component Properties
Inside the component, the following repeatable product properties are available. Each product is wrapped in an element marked with data-v-product.
- name —
data-v-product-name— Product name. - content —
data-v-product-content— Product description or content. - price —
data-v-product-price— Product price. - image —
data-v-product-image— Main product image. - images —
data-v-product-images— Product gallery images. - url —
data-v-product-url— Product detail page URL.
These properties repeat for each product returned by the component.
HTML Example
<div data-v-component-products
data-v-limit="10"
data-v-page="2"
data-v-order="price"
data-v-direction="asc"
data-v-include_image_gallery="false">
<div class="product-card" data-v-product>
<img src="/placeholder.jpg" data-v-product-image alt="Product Image">
<h3 data-v-product-name>Product Name Placeholder</h3>
<p data-v-product-content>Short description goes here...</p>
<span class="price" data-v-product-price>$0.00</span>
<a href="#" data-v-product-url class="button">View Product</a>
</div>
<div data-v-if-not="products">
<p>No products match your criteria.</p>
</div>
</div>
This example loads 10 products from page 2, without including the image gallery. Each product is rendered inside the data-v-product block.