1. Ce que fait le module
Le module place votre propre contenu à n’importe quel endroit de votre thème — une bannière au-dessus du pied de page, un message dans l’en-tête, une vidéo en page d’accueil, un texte sous le bouton « Ajouter au panier » — sans modifier les fichiers du thème, qu’une mise à jour écraserait. Chaque bloc de contenu a son propre contenu dans chaque langue, rédigé avec le même éditeur que les descriptions produit, et un hook : l’emplacement du thème où il s’affiche. Vous pouvez afficher un bloc uniquement entre deux dates, uniquement sur certains types de pages et uniquement pour certains groupes de clients. Les blocs s’activent, se désactivent, se classent, se dupliquent et se suppriment depuis une seule liste.
L’éditeur conserve tout code HTML, y compris les scripts, les styles et les vidéos intégrées. Les blocs reprennent les polices et les couleurs de votre thème ; le module n’ajoute aucun style.
Compatible avec PrestaShop 1.7.8, 8.x et 9.x (PHP 7.2.5 ou plus récent), avec les thèmes Classic et Hummingbird et en multiboutique.
2. Installation
- Sur la page du module sur addonspresta.com, cliquez sur Télécharger gratuitement (aucun compte nécessaire).
- Dans votre back-office, ouvrez Modules → Gestionnaire de modules et cliquez sur Installer un module.
- Déposez le fichier
ap_contentbox_v1.0.0.zipet attendez la confirmation. - Cliquez sur Configurer sur la fiche du module.
Le module s’installe sans aucun bloc. Ajoutez le premier avec le bouton + au-dessus de la liste.
3. Fonctionnement
Votre thème est fait de hooks : des emplacements nommés comme displayHome (contenu de la page d’accueil),
displayFooterBefore (au-dessus du pied de page) ou displayProductAdditionalInfo (à côté du bouton « Ajouter au
panier »). Quand vous enregistrez un bloc, le module se greffe sur son hook ; quand plus aucun bloc n’utilise un
hook, il s’en retire. Apparence → Positions montre les hooks de votre thème et les modules qui y sont greffés.
Chaque fois qu’une page affiche un hook, le module prend les blocs activés de la boutique courante pour ce hook, dans l’ordre de la liste, et garde ceux qui s’appliquent à cet instant :
- Dates — l’heure actuelle de la boutique (fuseau horaire défini dans International → Localisation) se situe entre Afficher à partir du et Afficher jusqu’au ; une date vide signifie aucune limite.
- Pages — toutes les pages, ou uniquement les types de pages cochés (accueil, catégories, produits, pages CMS, marques et fournisseurs, recherche et listes de produits, panier, commande, compte client, autres pages).
- Groupes de clients — le visiteur appartient à l’un des groupes cochés. Les visiteurs non connectés font partie du groupe Visiteur, ceux qui commandent sans compte du groupe Invité. Quand la fonctionnalité des groupes est désactivée dans Clients → Groupes, PrestaShop considère chaque client connecté comme membre du groupe client par défaut.
Le contenu s’affiche dans la langue du visiteur ; une langue laissée vide reprend le contenu de la langue par défaut. Il est publié tel que vous l’avez saisi, scripts compris : ne collez que du code de confiance, et ne lancez les scripts de suivi qu’après le consentement du visiteur aux cookies, comme l’exige le RGPD. Le module lui-même ne dépose aucun cookie.
Le module crée ses propres tables dans la base de données, ne modifie pas les tables de PrestaShop et ne se connecte ni à addonspresta.com ni à aucun autre serveur. Les dates, les pages et les groupes sont vérifiés à chaque affichage de page ; si votre boutique utilise un cache de pages complètes, un bloc change lorsque le cache est renouvelé.
4. Fonctionnalités et réglages
Ouvrez Modules → Gestionnaire de modules → Blocs de contenu → Configurer. L’encadré Aide en haut de la page mène à ce manuel et à la page du module sur addonspresta.com, dans la langue de votre back-office.
Liste des blocs
La liste montre les blocs des boutiques sélectionnées dans l’en-tête du back-office, triés par hook : ID, nom, hook, dates, pages, statut et position ; sous chaque hook, une courte description indique où il s’affiche. Au-dessus, Afficher les blocs de limite la liste à un seul hook.
- Dates — Toujours, À partir du …, Jusqu’au … ou les deux ; Programmé signifie que le bloc commence plus tard, Expiré que sa date de fin est passée.
- Statut — cliquez sur l’icône pour activer ou désactiver un bloc. Un bloc désactivé garde son contenu.
- Position — les flèches déplacent un bloc d’une place vers le haut ou vers le bas au sein de son hook. Les blocs d’un même hook s’affichent dans cet ordre.
- Modifier — ouvre le formulaire du bloc.
- Dupliquer — crée une copie nommée « … (copie) » avec le même contenu et les mêmes réglages, désactivée, à la fin de son hook. Modifiez-la, puis activez-la quand elle est prête.
- Supprimer — demande une confirmation, puis supprime le bloc. En multiboutique, il est retiré uniquement des boutiques sélectionnées dans l’en-tête (voir Multiboutique).
Formulaire du bloc
- Nom — pour vous seulement, affiché dans la liste, par exemple « Bannière de Noël en page d’accueil ». Jusqu’à 128 caractères.
- Hook — l’emplacement dans le thème, avec une courte description de sa place, par exemple displayHome — Page d’accueil, contenu principal. D’abord les Emplacements courants, puis les Autres emplacements de votre boutique, y compris les hooks de votre thème et d’autres modules. Les hooks du back-office, des PDF et les hooks techniques ne sont pas proposés.
- Contenu — l’éditeur, avec le sélecteur de langue à côté. Le bouton Code source de l’éditeur permet de coller du HTML, un script ou un code d’intégration. Obligatoire dans la langue par défaut.
- Activé — affiche ou masque le bloc.
- Afficher à partir du / Afficher jusqu’au — facultatifs, à l’heure de la boutique, par exemple
2026-12-01 08:00. Une date sans heure dans Afficher jusqu’au signifie la fin de cette journée. - Pages — Toutes les pages ou Uniquement sur les pages ci-dessous, avec les types de pages à cocher.
- Groupes de clients — les groupes qui voient le bloc ; tous sont cochés pour un nouveau bloc.
- Boutiques — en multiboutique uniquement : les boutiques où le bloc s’affiche.
Dans les gabarits de votre thème
Un développeur peut placer des blocs dans un gabarit du thème sans passer par un hook :
{widget name='ap_contentbox' hook='displayHome'} affiche les blocs d’un hook, {widget name='ap_contentbox' id_box=5}
affiche le bloc d’ID 5. Les dates, les pages et les groupes s’appliquent toujours.
5. Multiboutique
Chaque bloc appartient à une ou plusieurs boutiques. La liste montre les blocs de la boutique ou du groupe de boutiques sélectionné dans l’en-tête du back-office ; choisissez Toutes les boutiques pour les voir tous. Vous ne voyez que les blocs des boutiques auxquelles vous avez accès.
- Un nouveau bloc est proposé pour les boutiques de la sélection courante ; modifiez-les dans le champ Boutiques. Un employé qui ne travaille que sur une boutique ne voit pas ce champ : ses blocs appartiennent à cette boutique.
- Le nom, le hook, le contenu, les dates, les pages, les groupes, le statut et la position sont communs à toutes les boutiques d’un bloc.
- Supprimer retire le bloc des boutiques sélectionnées dans l’en-tête. Le bloc est supprimé entièrement quand il n’est plus dans aucune boutique ; avec Toutes les boutiques sélectionnées, il est supprimé tout de suite.
- Un employé qui n’a accès qu’à une partie des boutiques modifie, active, duplique et déplace uniquement les blocs affichés dans ses seules boutiques. Un bloc partagé avec d’autres boutiques reste tel quel et affiche un message ; Supprimer le retire seulement des boutiques de cet employé.
6. Désinstallation
Gestionnaire de modules → Blocs de contenu → Désinstaller supprime les tables du module avec tous les blocs et leur contenu. C’est irréversible. Pour masquer les blocs tout en les gardant, utilisez Désactiver. Réinitialiser supprime aussi les blocs.
7. Questions fréquentes et dépannage
Un bloc ne s’affiche pas. Vérifiez qu’il est activé, que ses dates incluent l’heure actuelle (la liste indique Programmé ou Expiré), qu’il appartient à la boutique que vous regardez, que le type de page et votre groupe de clients sont cochés et que la page affiche bien ce hook. Vérifiez ensuite dans Apparence → Positions que le module est greffé sur le hook (enregistrer le bloc le greffe à nouveau) et videz le cache dans Paramètres avancés → Performances.
J’ai choisi un hook, mais rien ne s’affiche dans mon thème. Tous les thèmes n’affichent pas tous les hooks. Essayez un des emplacements courants, ou demandez à l’auteur de votre thème quels hooks il affiche.
Mon script ne s’exécute pas. Collez-le avec le bouton Code source de l’éditeur et vérifiez les erreurs dans la console du navigateur. Un script qui a besoin d’une bibliothèque, comme jQuery, ne fonctionne que si le thème la charge avant lui.
Puis-je ajouter une vidéo ou une carte ?
Oui. Collez le code d’intégration (<iframe>) avec le bouton Code source.
Un bloc affiche du texte anglais dans ma boutique polonaise ou française. Cette langue est restée vide : c’est donc la langue par défaut qui est utilisée. Modifiez le bloc et remplissez cette langue.
Puis-je changer l’apparence des blocs ?
Oui. Stylez .ap-contentbox (tous les blocs) ou .ap-contentbox-5 (le bloc d’ID 5) dans votre thème, ou copiez
views/templates/hook/boxes.tpl dans themes/<votre-thème>/modules/ap_contentbox/views/templates/hook/, modifiez
la copie, puis videz le cache dans Paramètres avancés → Performances.
8. Mises à jour et assistance
Les mises à jour sont gratuites : téléchargez les nouvelles versions depuis la page du module sur addonspresta.com et installez-les comme un nouveau module. Vos blocs sont conservés. Chaque version passe notre audit de sécurité avant sa publication.
Ce module gratuit est fourni avec la même licence que nos modules payants (une boutique avec autant de boutiques multiboutique que vous voulez, un code que vous pouvez modifier mais pas partager) et sans assistance technique. Si vous avez besoin d’aide pour l’installation ou la configuration, nous pouvons vous la proposer en tant que prestation payante. Signalez les failles de sécurité à mail@addonspresta.com : nous les corrigeons en priorité.