Product list and filters
In Consho, a category is an ordinary Contao page with the Product list element. There is no category table of its own – the site structure is the category structure.
The elements
| Product list | shows the products of a selection. |
|---|---|
| Product filter | filters as links to the product list of the page, with counts; usually placed in a layout section. |
| Pin | puts a product at the start of the list; can only be created inside a product list. |
Setting up the product list
| Product selection | defines the category: same property = “or”, different properties = “and”. Visitors can narrow it down further but cannot deselect anything. |
|---|---|
| Follows the address | on for the category list of the page. Off for additional lists such as “New this week” – such a list never sets the page to 404. |
| Counts beside the filters | whether the filter shows counts. |
| Order | name, price ascending or descending, newest first or manual order; optionally unavailable products last. |
| Products per page | 0 = all; otherwise the list is paginated. A page beyond the last one answers with 404. |
| Tile image size, tile template and buy button on the tile | the buy button only appears for products without variants. |
Filters and pins
The product filter finds its list by itself: the first product list in the page's articles that follows the address. If the list sits in a layout section, you select it. Only filterable properties are offered; “available only” can be added.
A pin shows its product only when it is published, in the shop and visible with a price. When visitors sort the list themselves, pins drop out. Start and stop can be set per pin.
Findings and pitfalls
- Pin pointing nowhere: the product has been deleted or has since become a variant. Delete the pin or choose another product.
- “Always load from cache” on catalogue pages while there are customer-specific prices: everyone would then see the price of the first visitor.
- List prices or visibility out of step: only happens when something was written past the back end (SQL, import). The console puts it right:
consho:price:rebuildandconsho:visibility:rebuild;consho:catalog:verifyshows products that no list shows.