Skip to Content

Store Tags

These tags are used for accessing and displaying store-related data in Liquid templates. They help you render store information, product details, and other dynamic store content. Use these tags to build dynamic storefronts and display store data.

block

Include blocks in sections. Static include using name as id

Input

{% block 'name' %}

Static multiple include using custom ids for settings

Input

{% block 'name' id:'custom-id' %}

The id can also be a variable, resolved from context like any other attribute (e.g. a value assigned earlier so a shared snippet can parameterize its block id):

Input

{% assign cardId = 'section-product-card' %} {% block 'name' id:cardId %}

Inline block for side-by-side layout in the editor

Input

{% block 'name', display: 'inline' %}

container

Wraps a block container. To create a default container just use the plain container tag without the name.

Input

{% container %}

A named container matches blocks assigned to that container and, for statically imported sections without stored configuration, seeds the container’s preset blocks from the section schema:

Input

{% container 'content' %}

You can also create block containers dynamically. Give the container a schema name (for preset lookup) and a per-instance id so repeated (looped) instances match their own stored blocks:

Input

{% for i in (1..10) %} {% assign cid = 'content-' | append: i %} {% container 'content', id: cid %} {% endfor %}

form

Forms are an important piece of Finqu theme development. You can add forms with the form tag. You can read more about different types of forms and how to use them from the general guide for forms.

Input

{% form 'product', product %} <input type="hidden" name="quantity" value="1"> <button type="submit">{{ 'add_to_cart' | t }}</button> {% endform %}

Input

{% form 'contact' %} <input type="email" name="contact[email]" placeholder="Your email"> <textarea name="contact[body]"></textarea> <button type="submit">{{ 'send' | t }}</button> {% endform %}

javascript

With javascript tag you can be sure that your script is only included once in the page. This is very useful when a shared script is needed between sections or blocks. The tag body cannot contain Liquid.

Input

{% javascript %} document.addEventListener('DOMContentLoaded', function() { console.log('Section loaded'); }); {% endjavascript %}

Output

<script>document.addEventListener('DOMContentLoaded', function() { console.log('Section loaded'); });</script>

section

Renders a section from the sections folder of the theme. Sections are always wrapped inside of a parent element.

Input

{% section 'my-section' %}

Output

<div id="finqu-section-my-section"> <!-- section content here --> </div>

sections

Renders a section group — an ordered collection of sections that can be managed by the store editor. Section groups are defined in the theme’s section-groups folder as JSON files. Sections restricted to specific groups declare "section_groups": ["group-name"] in their schema.

Input

{% sections 'header-group' %}

Output

<div id="finqu-section-group-header-group"> <!-- sections rendered in order --> </div>

stylesheet

With stylesheet tag you can be sure that your styles are only included once in the page. This is very useful when shared styles are needed between sections or blocks. The tag body cannot contain Liquid.

Input

{% stylesheet %} .my-section { color: red; } {% endstylesheet %}

Output

<style>.my-section { color: red; }</style>