Search by

thelia / top-products-module

thelia

Package info

github.com/thelia-modules/TopProducts

Type:thelia-module

pkg:composer/thelia/top-products-module

Statistics

Installs: 44

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 19

2.1.1 2026-10-01 14:30 UTC

This package is auto-updated.

Last update: 2026-10-01 14:30:44 UTC


README

This module allows to create selections of top products in category and brand.

Installation

Manually

  • Copy the module into <thelia_root>/local/modules/ directory and be sure that the name of the module is TopProducts.
  • Activate it in your thelia administration panel

Composer

Add it in your main thelia composer.json file

composer thelia/top-products-module:~1.1.0

Usage

This module adds a new tab Top products in categories and brands where you can create selections and add products in selections.

To retrieve the products of a selections you can use the top_product loop.

The top_products loop

Input arguments

The top_products loop extend the loop product. All the arguments of the product loop are therefore available.

Argument Description
top_product_id The id of the selection
top_product_element_key The type of your selection (category or brand)
top_product_element_id The id of the element (category or brand)
top_product_selection_code The name of the selection

Output variables

The output variables are the same as the loop product.

Exemple

{loop 
    type="top_product" 
    name="top_product_loop" 
    top_product_element_key="category"
    top_product_element_id=$category_id 
    top_product_selection_code="my-selection"
}
...
{/loop}

Front API resource

The module exposes the selections on the Thelia 3 front API, so that a Twig/Flexy theme can read them without the Smarty loop. The resource is read only: there is no POST, PUT, PATCH or DELETE operation.

GET /api/front/top_products returns the pinned products, by ascending position unless an order[...] parameter is given. The collection is not paginated.

Parameter Description
elementKey category or brand
elementId The id of the category or brand. Repeat it to read several: elementId[]=3&elementId[]=7
selectionCode The selection, for example new or best
order[position], order[id] asc or desc

Each item exposes id, elementKey, elementId, selectionCode, position and product, the IRI of the product (/api/front/products/{id}).

GET /api/front/top_products?elementKey=category&elementId=12&selectionCode=best

GET /api/front/top_products/{id} reads one row.