Products Controller - Liquid Controller Reference
On this page
Description
The Products controller handles requests related to products functionality in your StoreConnect storefront.
| Property | Value |
|---|---|
| Controller | ProductsController |
| Liquid Template Path | controllers/products/ |
Actions
| Action | HTTP Method | Route | Liquid Page |
|---|---|---|---|
index |
GET | /products |
products |
show |
GET | /products/:id |
— |
find_product_to_purchase |
GET | /products/find-product-to-purchase |
— |
add_to_cart_and_redirect_to |
GET | /products/add-to-cart-and-redirect-to |
— |
Liquid Controller Lifecycle
For each action, Liquid controller templates are executed in three phases:
- Before —
controllers/products/{action}.liquidruns before the Rails action - After — runs after the Rails action but before the response is sent
- Final — runs after the response, useful for cleanup
Available Liquid Tags
Inside controller templates, these tags are available:
| Tag | Description |
|---|---|
{% params %} |
Set request parameters (e.g. {% params foo: "bar" %}) |
{% variables %} |
Set template variables (e.g. {% variables title: "Hello" %}) |
{% respond %} |
Respond with custom content, alert, or notice |
{% redirect %} |
Redirect the request (e.g. {% redirect to: "/products" %}) |
{% action %} |
Execute a server-side action (e.g. {% action "cart.add" %}) |
Example
Create a file at controllers/products/index.liquid:
liquid
{% before %}
variables custom_heading: "Welcome"
{% endbefore %}