Merlin Backoffice ® et All-in-one Rewards communiquent...
Niveau : avancé
Modules concernés : Merlin Backoffice ®
Est-il vraiment utile de vous le présenter, le module all-in-one-Rewards de chez prestaplugins est un incontournable de monde PrestaShop, faisant partie des 10 meilleures ventes de modules depuis plusieurs années sur la place de marché officielle, et sans doute le meilleur programme pour fidéliser vos clients.
Il permet de gérer depuis une même interface l'ensemble des programmes de fidélisations. Et pour les clients, il devient simple de gagner des points ou une rémunération via l'affiliation, des programmes de fidélité avancé et de parrainage, ou encore via un bouton "J'aime" Facebook...
Nous allons d'ailleurs le mettre en place prochainement sur Sitolog afin de mieux vous faire profiter de tous ces avantages.
Un utilsateur de Merlin Backoffice nous a recemment demandé si il était possible d'y afficher et d'éditer les nombre de points spécifiques que l'on peut gagner en achetant chaque produit, afin d'avoir une vue globale. Ce tuto y répond.
Page de personnalisation par produit du module all-in-one Rewards:
On a tout de suite pensé aux 5 colonnes perso qui permettent d'afficher des rubriques non standard.
On venait justement de rédiger un tuto sur leur utilisation pour afficher un bloc HTML complémentaire sur vos pages produits.
Cependant, il manquait un petit quelque chose pour pouvoir appliquer cette technique aux données de all-in-one Rewards. En effet, dans ce module, chaque produit peut avoir plusieurs valeurs différentes pour une même propriété. Comme plusieurs nombres de points attribués, selon les dates, ou selon les programmes.
Il faut donc pouvoir afficher plusieurs lignes pour chaque produit. Autant de lignes qu'il existe de récompenses possibles sur ce produit.
Pour cela, il a fallut enrichir l'éditeur de colonnes personnalisables d'un nouveau paramètre, le GROUP BY.
Aie, oui c'est technique. D'ailleurs cet article est classé dans la catégorie "avancée". Disons le tout de suite, GROUP BY est une commande du language MySQL et on ne va pas faire ici un cours de programmation.
Donc deux cas de figure, soit vous savez déjà écrire des requètes SQL, incluant la commande GROUP BY, et vous allez comprendre par vous même le pourquoi du comment sans qu'on ait besoin de l'expliquer, soit c'est du chinois pour vous et vous vous contenterez d'appliquer à la lettre les réglages ci dessous pour arriver au même résultat.
Si besoin, revoir le tuto ci dessus pour 1/ouvrir le configurateur de colonnnes et 2/ajouter les 5 colonnes perso dans la liste de droite, en les glissant depuis la table de gauche:
Faites ensuite un clic droit, ce qui permet d'ouvrir la fenêtre de réglages des colonnes perso :
Il y a trois colonnes à remplir, pour chacune des rubriques que l'on souhaite afficher.
En 1/ le nom de la table, sans son préfixe. Elle s'appelle rewards_product. Si la table demandée n'existe pas dans la base, son nom sera affiché en rouge, comme ci dessus.
En 2/ le nom de la rubrique à afficher, telle que définie dans la table de la base. On peut trouver ces infos grâce par exemple à PHPMyAdmin. Voici la structure de la table rewards_product de ce module :
Les données qui nous interessent sont plugin, type, value et les dates.
Enfin en 3/, nouvelle colonne à partir de la version 1.0.2 de Merlin Backoffice, on ajoute une condition supplémentaire à la chaine GROUP BY de la requète, permettant d'afficher autant de lignes par produit, qu'ils ont de récompenses associées. Cette condition se fait sur la clé unique auto-incrémentée de la table (ou le primary index), ici id_reward_product.
Attention, dans cette colonne, il faut bien respecter la syntaxe : il faut inclure le le nom de la table complete, avec son prefix (il est flouté sur la capture ci dessus), devant le nom de la clé. Cela donne, si votre préfixe est la valeur par défaut ps_: ps_rewards_product.id_reward_product
On valide ces réglages ce qui ferme la fenêtre et nous rammene sur la fenêtre de configuration des tables.. Profitons en pour donnez un nom plus parlant à chacune de nos 5 colonnes personnalisables:
On valide, la table des produits se rafraîchit, avec les données de nos cinq colonnes. On voit bien ici, que pour le produit 65 par exemple , on a 4 lignes correspondantes à des récompenses différentes créées avec le module all-in-one Rewards. Affichage multi lignes rendu possible grâce au group by :
Pour avez donc à présent dans une seule et même vue, la possibilité de voir toutes les récompenses de tous les produits.
Vous pouvez aussi, modifier directement les valeurs dans ces colonnes. Mais uniquement cellule par cellule, il n'y a pas (pas encore) de fonction de modification en masse sur les colonnes perso.
Vous pouvez aussi utiliser ces colonnes pour trier les produits (clic droit "Filtrer sur cette colonne").
Vous ne pouvez pas par contre créer ou supprimer des récompenses ici, il faut le faire dans le module all-in-one Rewards. Vous pouvez uniquement les modifier.
Attention, si vous modifiez les dates de validité d'une récompense, toujours veillez à ce qu'il n'y ai pas de chevauchement de période entre deux récompenses sur un même programme pour un même produit.
Si cela correspond à un vrai besoin, dites le nous, il sera possible dans le futur de réaliser des modifications de masse sur ce type de colonnes custom.
Cl**** O 20/12/2018 Réponse
Merlin Back Office est à l'image de son concepteur professionnel, Intelligent, très efficace, respectueux, disponible, altruiste avec un sens aigu de l'échange (plus vous vous investissez plus vous recevez). Merci Franck pour être ce que vous êtes.