thelia / best-sellers-module
Installs: 574
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 8
Forks: 4
Open Issues: 0
Type:thelia-module
Requires
- thelia/installer: ~1.1
README
en_US
This modules provides a loop that returns the best (or the worst) sales, and another loop which returns the most purchased products with a given product.
Installation
Manually, or with composer :
composer require thelia/best-sellers-module:~2.0
Usage
This module shows the 4 best sales of your shop on the front page via the home.body
hook.
You can also add where you want in your template (front or back-office), a loop best_selling_products
to show your best or your worst sales.
In the back-office, you can see your best sales in the "Tools" menu.
Finally, the total number of sales of a product appears on the product sheet.
Update 1.2.0 : You can now choose which order statuses are taken into account to calculate your best sellers. A configuration page has been added to the module. Access it from the modules page.
Hook
This module shows the 4 best sales of your shop on the front page via the home.body
hook, and products
purchased with te current product on the product page via the product.bottom
hook (modern template) or product.additional
hook (default template)
Loop
best_selling_product loop
The module provide the loop best_selling_product
, which extend the loop product
. All the arguments of the product
loop are therefore available.
best_selling_products
loop
Input parameters
All the arguments of the loop product
are available.
A new argument only_sold_products
(default false) is added to the loop parameters.
If true, only the sold products will be returned. Products that were never sold will not be returned.
If false (the default), all products will be returned, even those that have never been sold.
The loop offers two new values for the parameter order
of the loop `product``
- sold_count_reverse : sort by number of sales in decreasing order
- sold_count : sort by number of sales in increasing order
Output variables
All the variables of the loop product
are available.
Example
To get your 10 best sales of all time:
<ul>
{loop type="best_selling_products" name="best-sellers" limit=10 order='sold_count_reverse'}
<li>{$REF} : {$TITLE} : {$SOLD_QUANTITY}</li>
{/loop}²²
</ul>
To get your 5 best sales of the month :
<ul>
{loop type="best_selling_products" name="best-sellers-this-month" order='sold_count_reverse' start_date={$smarty.now|date_format:'%Y-%m-01'} limit=5}
<li>{$REF} : {$TITLE} : {$SOLD_QUANTITY}</li>
{/loop}
</ul>
To get your 10 worst sales of all time :
<ul>
{loop type="best_selling_products" name="best-sellers" limit=10 order='sold_count'}
<li>{$REF} : {$TITLE} : {$SOLD_QUANTITY}</li>
{/loop}
</ul>
purchased_with_products loop
This loop returns products purchased with a given product, based on past orders (paid or not)
Input parameters
Output parameters
Exemple
Get the top 4 products sold along with a given product
<ul>
{loop name="purchased-with" type="purchased_with_products" product_ref=$REF limit="4"}
{loop type="product" name="product_list" ref=$PRODUCT_REF}
<li>{$REF} : {$TITLE} : {$SOLD_COUNT}</li>
{/loop}
{/loop}
</ul>
fr_FR
Ce module vous fournit une boucle qui retourne vos meilleures (ou vos pires) ventes, et une autre boucle qui permet d'afficher les produits les plus achetés avec un produit donné.
Installation
Manuellement, ou avec composer :
composer require thelia/best-sellers-module:~2.0
Usage
Ce module affiche les 4 meilleures ventes de votre boutique sur la page d'accueil, via le hook 'home.body'
Vous pouvez aussi ajouter où vous voulez dans votre template front office ou back-office une boucle best_selling_products
pour afficher vos meilleures ou pires ventes.
Dans le back-office, vous pouvez voir vos meilleures ventes dans le menu "Outil".
Enfin, le nombre de ventes total d'un produit apparaît sur la fiche produit.
Update 1.2.0 : Le module permet désormais de choisir quels status de commande utiliser pour calculer vos best sellers. Une page de configuration à été ajoutée, accessible depuis la page "modules".
Hook
Le module affiche les 4 meilleures ventes de votre boutique sur la page d'accueil, via le hook home.body
.
Il afficher sur la page produit les produits achetés avec le produit affiché via le hook product.bottom
(template modern)
ou le hook product.additional
(template default)
Loop
Le module vous propose la boucle best_selling_products
, qui étend la boucle product
. Tous les arguments de la boucle product
sont donc disponibles.
Il propose aussi la boucle purchased_with_products
, qui permet d'afficher les articles qui ont été achetés
avec un article donné.
best_selling_products
loop
Paramètres en entrée
Tous les arguments de la boucle product
sont disponibles.
Un nouvel argument only_sold_products
(par défaut false) est ajouté aux paramètres de la boucle.
Si true, seuls les produits vendus seront retournés. Les produits qui n'ont jamais été vendus ne seront pas retournés.
Si false (par défaut), tous les produits seront retournés, même ceux qui n'ont jamais été vendus.
La boucle propose deux valeurs supplémentaires pour le paramètre order
de la boucle product
:
- sold_count_reverse : trier par nombre de ventes décroissantes
- sold_count : trier par nombre de ventes croissantes
Variables en sortie
Toutes les variables de la boucle product
sont disponibles.
Exemple
Pour obtenir vos 10 meilleures ventes de tous les temps :
<ul>
{loop type="best_selling_products" name="best-sellers" limit=10 order='sold_count_reverse'}
<li>{$REF} : {$TITLE} : {$SOLD_QUANTITY}</li>
{/loop}
</ul>
Pour obtenir les 5 meilleures ventes du mois :
<ul>
{loop type="best_selling_products" name="best-sellers-this-month" order='sold_count_reverse' start_date={$smarty.now|date_format:'%Y-%m-01'} limit=5}
<li>{$REF} : {$TITLE} : {$SOLD_QUANTITY}</li>
{/loop}
</ul>
Pour obtenir vos 10 pires ventes de tous les temps :
<ul>
{loop type="best_selling_products" name="best-sellers" limit=10 order='sold_count'}
<li>{$REF} : {$TITLE} : {$SOLD_QUANTITY}</li>
{/loop}
</ul>
purchased_with_products loop
Cette boucle permet de retourner les articles achetés avec un article donné, en se basant sur les commandes passées (payées ou non)
Paramètres en entrée
Variables en sortie
Exemple
Pour obtenir les 4 articles les plus vendus avec un article donné
<ul>
{loop name="purchased-with" type="purchased_with_products" product_ref=$REF limit="4"}
{loop type="product" name="product_list" ref=$PRODUCT_REF}
<li>{$REF} : {$TITLE} : {$SOLD_COUNT}</li>
{/loop}
{/loop}
</ul>