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 listshows the products of a selection.
Product filterfilters as links to the product list of the page, with counts; usually placed in a layout section.
Pinputs a product at the start of the list; can only be created inside a product list.

Setting up the product list

Product selectiondefines the category: same property = “or”, different properties = “and”. Visitors can narrow it down further but cannot deselect anything.
Follows the addresson 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 filterswhether the filter shows counts.
Ordername, price ascending or descending, newest first or manual order; optionally unavailable products last.
Products per page0 = 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 tilethe 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:rebuild and consho:visibility:rebuild; consho:catalog:verify shows products that no list shows.