thelia/best-sellers-module

Installs: 601

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 8

Forks: 4

Open Issues: 0

Type:thelia-module

2.2.4 2024-09-10 12:47 UTC

This package is auto-updated.

Last update: 2024-12-10 13:21:52 UTC


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 productare 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>