drSoft.fr Widget Manager — Injectez du HTML dans n'importe quel hook PrestaShop
drsoftfrwidget est un module PrestaShop gratuit développé par drSoft.fr qui vous permet d'afficher du contenu HTML dans n'importe quel hook d'affichage, avec support multilingue, multiboutique et des filtres d'affichage granulaires — sans toucher au code.
Présentation
Développé par drSoft.fr, ce module permet d'injecter du contenu HTML dans n'importe quel hook d'affichage PrestaShop directement depuis le Back Office — sans modifier le code du thème ni des fichiers du cœur.
Chaque widget dispose de son propre contenu par langue, est scopé par boutique et peut être soumis à des filtres d'affichage cumulatifs pour ne s'afficher qu'aux bonnes personnes, sur les bonnes pages et dans le bon contexte.
Les problèmes que le module résout
- Modifications répétitives du thème pour afficher un simple bloc HTML qui change souvent.
- Contenu non ciblé affiché à tous les visiteurs, même ceux qui ne sont pas concernés.
- Gestion multilingue complexe de blocs HTML dispersés dans les fichiers de templates.
Fonctionnalités clés
- Tous les hooks display* de votre installation
- le sélecteur interroge directement la base PrestaShop et liste chaque hook
display*présent — aucune liste figée, tout ce que PS connaît est disponible. - Éditeur TinyMCE par langue
- contenu HTML libre par widget et par langue active, sans restriction de balisage.
- Filtres d'affichage cumulatifs
- 7 filtres indépendants (page, entité, groupe client, cookie, paramètre URL, regex URL, période) combinés en logique ET.
- Multiboutique & multilingue
- widgets scopés par boutique via le système PS standard ; contenu distinct par langue active.
- Duplication en un clic
- clonez n'importe quel widget (action individuelle ou en masse) — inactif par défaut avec le préfixe « Copie de ».
- WidgetInterface native
- le module implémente
WidgetInterface— appelable directement depuis n'importe quel template Smarty via{widget name='drsoftfrwidget'}.
Les filtres d'affichage
Type de page
Limitez l'affichage à certains types de contrôleurs PS : product, category, cms…
ID d'entité
Affichez uniquement sur certains produits, catégories ou pages CMS via une liste d'IDs séparés par des virgules : 1,5,42.
Groupe client
Ciblez des groupes clients précis — visiteurs non identifiés, clients connectés ou groupes personnalisés.
Condition cookie
Vérifiez l'existence ou la valeur exacte d'un cookie. Préfixez ! pour inverser la condition : promo=summer, !gdpr.
Paramètre URL
Affichez uniquement quand un paramètre GET est présent ou a une valeur précise : ref=newsletter.
Regex URL & période de validité
Appliquez un pattern PCRE sur REQUEST_URI, et définissez une date de début et/ou de fin d'affichage pour vos opérations ponctuelles.
Comment ça marche ?
- Installez le module depuis le Back Office (Modules > Gestionnaire de modules > Déposer un module).
- Accédez à Améliorer > Widget Manager et cliquez sur Ajouter un widget.
- Choisissez le hook cible, renseignez un nom interne, définissez la position et rédigez votre contenu HTML dans l'éditeur TinyMCE (par langue).
- Configurez les filtres d'affichage souhaités — laissez-les vides pour afficher le widget partout.
- Activez le widget — il s'affiche immédiatement sur le hook sélectionné, sans rechargement de cache nécessaire.
Appel depuis un template Smarty
Le module implémente WidgetInterface — il peut être appelé directement depuis n'importe quel template de thème :
{`{* Tous les widgets enregistrés sur displayHome *}
{widget name='drsoftfrwidget' hook='displayHome'}
{* Avec contexte supplémentaire (utile pour le filtre par ID d'entité) *}
{widget name='drsoftfrwidget' hook='displayFooterProduct' id_product=$product.id}`}
Compatibilité
| Dépendance | Version minimum | Statut |
|---|---|---|
| PrestaShop | 1.7.0 | Compatible 1.7 → 9.x |
| PHP | 7.1 | Compatible |
| MySQL / MariaDB | 5.6 | Compatible |
| Multiboutique | — | Pris en charge |
| Multilingue | — | Pris en charge |
FAQ
- Quelle est la différence avec un module de blocs HTML classique ?
- Widget Manager va au-delà des blocs statiques : chaque widget supporte 7 filtres d'affichage cumulatifs (page, entité, groupe client, cookie, paramètre URL, regex URL, période de validité). Vous pouvez cibler précisément qui voit quoi et quand, sans dupliquer de widgets ni modifier le thème.
- Puis-je utiliser le module sur plusieurs boutiques ?
- Oui. Les widgets sont scopés par boutique via le système multiboutique standard de PrestaShop. Chaque boutique dispose de sa propre liste de widgets, indépendamment des autres.
- Comment le module connaît-il les hooks disponibles ?
- Le sélecteur de hook interroge directement la table
hookde votre base PrestaShop et récupère tous les hooks dont le nom commence pardisplay. Vous avez donc accès à l'intégralité des hooks d'affichage de votre installation, qu'ils viennent du cœur de PS, d'un thème ou d'un autre module. - Le HTML injecté est-il échappé ou filtré ?
- Non. Le template Smarty utilise
{nofilter}pour restituer le HTML exactement tel que saisi. Vous gardez un contrôle total sur le rendu — y compris pour les scripts, iframes ou balises personnalisées. - Le module est-il open source ?
- Oui, le module est distribué sous licence MIT et son code source est disponible sur GitHub. Vous pouvez l'auditer, le modifier et y contribuer librement.
Ajoutez du HTML partout sur votre boutique
Besoin d'aide pour l'installation, la configuration ou un accompagnement PrestaShop sur mesure ? Je suis disponible à Nîmes et à distance. Décrivez votre besoin — je reviens vers vous rapidement.