table SET actif='" . $_REQUEST['active'] . "', seuiltotal='" . $_REQUEST['seuiltotal'] . "', type='" . $_REQUEST['type'] . "', valref='" . $_REQUEST['valref'] . "', qtetotal ='". $_REQUEST['qtetotal'] . "', inclurepromo ='". $promoinclus . "', inclurenouveaute ='". $nouvinclus . "', prodpanier ='". $_REQUEST['prodpanier'] . "', qteprod ='". $_REQUEST['qteprod'] . "' where id='". $_REQUEST['id']."'"; $resul = mysql_query($query, $incitation->link); ?> type = $_REQUEST['type']; $incitation->valref = $_REQUEST['valref']; $incitation->actif = $_REQUEST['actif']; $incitation->seuiltotal = $_REQUEST['seuiltotal']; $incitation->qtetotal = $_REQUEST['qtetotal']; ($_REQUEST['inclurepromo']==1) ? $incitation->inclurepromo = $_REQUEST['inclurepromo'] : $incitation->inclurepromo =0; ($_REQUEST['inclurenouveaute']==1) ? $incitation->inclurenouveaute = $_REQUEST['inclurenouveaute']: $incitation->inclurenouveaute =0; $incitation->prodpanier = $_REQUEST['prodpanier']; $incitation->qteprod = $_REQUEST['qteprod']; $incitation->add(); } } if($_REQUEST['action'] == "supprimer"){ $incitation = new Incitation(); $query = "delete from $incitation->table where id='" . $_REQUEST['id'] . "'"; $resul = mysql_query($query, $incitation->link); } $type_bonus = array(); $incitation = new Incitation(); $query = "select * from $incitation->table order by id "; $resul = mysql_query($query, $incitation->link); $nbres = mysql_num_rows($resul); if(!$nbres) return ""; $compt=0; while($row = mysql_fetch_object($resul)){ $type_bonus[$compt] = $row; $compt++; } ?>

Accueil Modules Incitation v0.5

Configuration des incitations
'; } ?>
Actif Type d'incitation Code promo / REF Tot Cmde Qte Art Promo Nouv. Ref Panier Qte Ref Valider Suppr.
actif == 1) echo 'checked="checked"'; echo 'value="1" /> '; switch($incitation->type) { case 'remise': echo ''; break; case 'portoffert': echo ''; break; case 'bonusref': echo ''; break; default : echo ''; break; } echo ' inclurepromo=='1') echo 'checked="checked"'; echo '/>inclurenouveaute=='1') echo 'checked="checked"'; echo '/>

Cliquer ici pour afficher l'aide

MODE D'EMPLOI

Interface d'administration des Incitations

  • Colonne "Actif" : doit être cochée pour que l'incitation fonctionne sur votre site (par défaut : décochée).
  • Colonne "Type d'incitation" : selectionner l'un des 3 types disponibles
    • Remise sur le montant de la commande
    • Port offert
    • Référence offerte
  • Colonne "Code promo/REF" : ce champ est obligatoire pour les types "remise" et "référence offerte". Il est inutile et peut rester vide pour le type "port offert".
    • Pour le type remise: créez d'abords un code promo dans le BO Thelia (Code promo /Ajouter un code promo) avec les paramètres de votre choix, puis coller ici le code promo créé pour l'occasion.
    • Pour le type référence offerte: créez d'abords un produit spécifique, le cadeau, dans votre catalogue avec un prix=0 et un stock=0.
      Pour éviter de le voir s'afficher sur votre site, vous pouvez désactiver l'option "en ligne".
      Coller ici la réference de ce produit.
  • Colonne "Tot Cmde" : condition d'attribution de l'incitation : entrer un montant comme seuil minimal TTC d'une commande (par défaut : 0).
  • Colonne "Qte Art" : condition d'attribution de l'incitation : entrer une quantité minimale d'articles dans une commmande (par défaut : 0).
  • Colonnes "Promo" et "Nouv." : Le total de la commande et la quantité d'articles dans le panier sont calculés en prenant en compte les produits nouveaux et/ou en promo si les cases correspondantes sont cochées et vice versa (par défaut : cochées).
  • Colonne "Référence présente" : condition d'attribution de l'incitation : remplir avec la référence d'un produit du catalogue impose que cette référence soit présente dans le panier pour attribuer l'incitation (par défaut : vide).
  • Colonne "Quantité référence" : condition d'attribution de l'incitation : quantité minimum de la référence ci-dessus (par défaut : 0).
  • Colonne "valider" : obligatoire pour valider les mises à jour de chaque Incitation.

Le bouton "ajouter une incitation" permet de créer un nombre illimité d'Incitations pour votre site.

Mode de calcul du plugin

Le déroulement du calcul est le suivant : Sur chaque page de votre site disposant de la variable $incitation_active=1 le plugin manipule la variable de session promo, normalement dédiée uniquement à l'enregistrement des codes promo validés par le client. Il manipule aussi le panier pour enregistrer ou supprimer les cadeaux prévus. Enfin il force le port à 0 si besoin et l'affiche sur le site si la balise Thélia #PANIER_PORT est présente. concernant les remises sur total, le plugin prend en compte les remises globales niveau client et les codes promos validés selon l'enchaînement suivant :

  • 1°) Réinitialisation de la session promo pour calcul dynamique de sa valeur par Incitation.
  • 2°) Calcul des codes promos personnalisés soumis éventuellement par le client sur la page commande.php*
  • 3°) Calcul des Incitations de type remises en fonction du total de la commande, diminué de la remise globale niveau client et des éventuels codes promos.
  • 4°) Calcul du port offert en fonction du total de la commande diminué des éventuels codes promos et remises.
  • 5°) Calcul des références offertes en fonction du total de la commande diminué des éventuels codes promo et remises.

* Le plugin modifie le fonctionnement nominal de Thelia sur ce point : si un client rentre un code promo sur la page commande.php et qu'il retourne ensuite sur le site sans valider sa commande, son code promo sera réinitialisé : il sera néanmoins en mesure de le rentrer à nouveau pour en bénéficier une fois de retour sur la page commande.php.

EXEMPLE
Voici comment créer très simplement une promotion sur votre site : pour une commande atteignant 100€, 10% de remise. Pour une commmande atteignant 200€, 20% de remise.

- Sur la page code promo :


- Sur cette page module/incitation :


- Affichage du panier avec les balises Thelia :
TECHNIQUE

Affichage des valeurs calculées par le plugin

  • L'affichage des remises :

    Incitation utilise la session promo de Thelia ; de ce fait l'affichage de ses calculs pour les remises est totalement transparent : Incitation ne créée aucune balise supplémentaire ou substitution. Les valeurs rendues par les substitutions #PANIER_REMISE et #PANIER_TOTREMISE afficheront le montant des remises attribuées par vos incitations et le total de la commande diminué de ce montant alors que #PANIER_TOTAL affichera le montant du panier sans les remises.

  • L'affichage des références offertes :

    Comme tout produit, une référence offerte s'affiche automatiquement dans le panier, la commande, la facture... sans manipulation particulière.

  • L'affichage du port offert :

    Le port est une valeur dynamique que Thelia calcule systématiquement avant de l'afficher. Le plugin incitation utilise donc les substitutions #PANIER_PORT et #PANIER_TOTPORT et les remplace avant Thelia. Cette manipulation a lieu sur ces substitutions si votre page comporte la variable $incitation_active=1 (à ajouter sur transport.php pour générer la valeur exacte du port sur cette page).

Ottoroots - 2009

ottoroots@gmail.com
www.cosmoweb.fr

Portage Thelia 1.5 : Franck Allimant / CQFDev