Blocs HTML : installation et aide
Démarrage rapide
- Téléversez et installez le ZIP HTML Blocks dans Modules > "Module Manager".
- Ouvrez Blocs HTML > Blocs et créez un bloc avec Nom interne et un Contenu traduit.
- Laissez Titre vide pour afficher uniquement le contenu et Consentement aux cookies requis sur Aucun (toujours afficher) pour un bloc de texte ordinaire.
- Gardez Actif activé et enregistrez le bloc.
- Ajoutez "Display Location" displayFooter avec Mise en page contained, ou choisissez un autre hook utilisé par votre thème.
- Ouvrez la page correspondante de la boutique dans chaque langue et confirmez que le bloc apparaît.
- Utilisez Blocs HTML > Modèles uniquement pour créer une position dans un template du thème, puis vérifiez-la avec Vérifier le statut.
Nécessite PrestaShop 1.6.1 ou une version ultérieure et PHP 7.1 ou une version ultérieure.
Manuel de configuration
Installer et créer un bloc
Téléversez et installez le ZIP HTML Blocks dans Modules > "Module Manager". Ouvrez Blocs HTML > Blocs. "Configure" ouvre la configuration du module ; la page Blocs contient l'éditeur de contenu.
Créez un bloc avec Nom interne, saisissez le Contenu dans vos langues et enregistrez. Ajoutez un emplacement pour l'afficher. Un bloc enregistré sans placement actif n'a pas de position dans la boutique.
Créez les blocs avec l’éditeur intégré; aucun fichier de modèle supplémentaire n’est nécessaire.
Modifier le contenu du bloc
| Champ | Valeur par défaut | Utilisation |
|---|---|---|
| Nom interne | Vide | Identifiant administratif obligatoire. Il n'apparaît pas dans la boutique. |
| Titre | Vide | Texte traduit facultatif au-dessus du contenu. Laissez-le vide pour le contenu seul. |
| Balise titre | Aucun titre / vide | Choix : Pas de titre, h2, h3, h4, h5, span et p. Un Titre non vide avec une balise vide reste affiché dans un div. Effacez Titre pour le masquer. |
| Consentement aux cookies requis | Aucun (toujours afficher) | Choisissez Fonctionnel, Analytique ou "Marketing" uniquement pour un contenu optionnel devant attendre cette catégorie de consentement. |
| Contenu | Vide | HTML traduit, modifié avec l'éditeur de texte enrichi PrestaShop. |
| Classe CSS | Vide | Classe ou classes de l'enveloppe extérieure. Le moteur conserve lettres, chiffres, espaces, tirets bas et traits d'union. |
| Actif | Activé | Désactive tout le bloc sans le supprimer. |
Pour un message de pied de page, vous pouvez saisir :
<div class="footer-trust">
<strong>Secure payment</strong>
<span>Pay using a payment method enabled in this shop.</span>
</div>
Définissez Nom interne sur Footer - Payment message, laissez Titre vide, utilisez Classe CSS footer-trust-block et gardez Consentement aux cookies requis sur Aucun (toujours afficher) pour un message textuel ordinaire.

Affecter des emplacements de hooks natifs
Dans le panneau de placement du bloc, choisissez "Display Location" et Mise en page, puis ajoutez l'emplacement. L'aperçu visuel ouvre la boutique avec des marqueurs de hooks pour examiner les positions prises en charge. Le thème doit réellement afficher le hook pour que le placement apparaisse.
| Option de placement | Valeur par défaut | Effet |
|---|---|---|
| "Display Location" | Vous devez choisir un hook | Choisissez où le bloc apparaît. Le modèle de placement sous-jacent utilise par défaut displayMprHtmlBlock ; cela ne remplace pas le choix d'un véritable emplacement natif. |
| Mise en page | contained |
Utilise le conteneur du thème, ou choisissez full-width pour un contenu de la largeur de la fenêtre. |
| Actif | Activé | Masque un placement en gardant les autres actifs. |
| "Sort Order" | Prochaine position disponible pour un nouveau placement de hook | Ordonne les blocs au même emplacement. La valeur stockée par défaut est 0. |
Vous pouvez réutiliser un bloc à plusieurs emplacements. L'action de placement ne permet pas d'ajouter deux fois le même bloc au même hook natif.
Les emplacements disponibles comprennent :
| Zone | Hooks |
|---|---|
| Accueil | displayHomeIntro, displayHome |
| Produit | displayProductAdditionalInfo, displayAfterProductThumbs, displayFooterProduct, displayReassurance, displayProductTabContent, displayLeftColumnProduct, displayRightColumnProduct |
| Listes | displayHeaderCategory, displayFooterCategory |
| Mise en page | displayWrapperTop, displayContentWrapperTop, displayContentWrapperBottom, displayWrapperBottom, displayLeftColumn, displayRightColumn |
| En-tête | displayBanner, displayNav1, displayNav2, displayTop, displayNavFullWidth |
| Pied de page | displayFooterBefore, displayFooter, displayFooterAfter |
| Panier et commande | displayShoppingCart, displayShoppingCartFooter, displayExpressCheckout |
| Autres | displayOrderConfirmation1, displayOrderConfirmation2, displayCustomerAccount |
Pour une bannière d'accueil, utilisez displayHomeIntro, Mise en page full-width et une classe adaptée comme homepage-seasonal-banner. Pour un message de pied de page, utilisez displayFooter et contained.
Ajouter un onglet produit
Créez le bloc traduit, définissez Titre comme libellé d'onglet et ajoutez displayProductTabContent comme emplacement. Le module fournit le libellé et le contenu via les hooks d'onglets produit. Votre thème doit prendre ces hooks en charge.
Pour un onglet Livraison, utilisez Nom interne Product - Delivery Tab et Titre Delivery. Ajoutez vos informations de livraison et enregistrez. Vérifiez l'onglet sur une véritable page produit, avec son libellé et son contenu dans chaque langue.
Le libellé et le contenu de l’onglet produit suivent tous deux l’exigence de consentement du bloc.
Ajouter des positions avec Template Manager
Utilisez Blocs HTML > Modèles lorsque le thème n'a pas de hook natif adapté à la position souhaitée. Sauvegardez d'abord le thème. Le processus PHP doit pouvoir écrire dans les fichiers du thème concernés ou le chemin d'override du thème enfant, ainsi que dans le cache PrestaShop.
- Analysez le thème actif. Les types de pages pris en charge incluent Produit, Catégorie, Liste, Fabricant, Fournisseur, Toutes les marques et CMS.
- Examinez le fichier, la position et l'appel de hook proposés pour ce type de page.
- Acceptez ou injectez la position choisie. Le gestionnaire peut modifier le template ou créer un override extends lorsque c'est pris en charge.
- Affectez un bloc existant au profil de page et choisissez sa mise en page et sa position d'insertion.
- Gardez le profil actif et enregistrez ses paramètres.
- Ouvrez une page correspondante de la boutique et vérifiez l'emplacement.
Le gestionnaire insère du contenu Smarty balisé avec le hook du module :
{* MPR_HTMLBLOCK_INJECT *}
{hook h='displayMprHtmlBlock'}
{* /MPR_HTMLBLOCK_INJECT *}
Les appels générés peuvent inclure des paramètres propres à la page. Conservez-les avec l'appel suggéré par le gestionnaire. Un développeur peut aussi placer {hook h='displayMprHtmlBlock'} manuellement, en tenant compte du contexte de page et des placements prévus.
Le profil est actif par défaut. Après une mise à jour du thème, utilisez Vérifier le statut. Si les marqueurs manquent ou si la position est périmée, relancez l'analyse avant de réinjecter. Tout supprimer retire les injections suivies. Utilisez le gestionnaire pour retirer une position suivie plutôt que supprimer des fragments de marqueurs à la main.
Le placement par sélecteur est également pris en charge. Utilisez les hooks natifs ou Template Manager pour une configuration ordinaire ; le placement par sélecteur dépend d'un balisage stable du thème.
Configurer les contenus dépendant du consentement
Pour les intégrations ou scripts optionnels, choisissez une catégorie dans Consentement aux cookies requis. Le module émet du contenu encodé inerte et l'insère dans le navigateur uniquement lorsque le client MPR Cookies Revolution expose une autorisation pour cette catégorie. Sans décision, en cas de refus ou sans client MPRCR utilisable, le contenu conditionné reste absent. Le retrait du consentement supprime le contenu inséré.
Ce cycle s'applique aux hooks natifs, placements dans les templates, placements par sélecteur et onglets produit. La catégorie propre à un bloc peut également être insuffisante pour un script intégré qui exige une autre catégorie.
Ne conditionnez pas le texte essentiel de la page au consentement. Un contenu conditionné peut apparaître après le chargement, déplacer la mise en page et rester absent pour les robots sans consentement. Utilisez Aucun (toujours afficher) pour le contenu qui doit toujours être présent.
Ne fabriquez pas manuellement de cookies de consentement. Les noms de catégories de l'intégration sont functional, analytics et marketing ; le module de consentement gère la décision du visiteur.
Adapter au thème
Ouvrez Blocs HTML > Paramètres > Configuration > Styles du thème. L'éditeur de styles partagé part des valeurs détectées du thème et permet de les remplacer. Utilisez "Refresh shop styles" après un changement de thème. Utilisez "Clear custom styles" pour revenir aux valeurs détectées.
Le module associe arrière-plan, arrière-plan secondaire, bordure, texte, texte atténué, rayon, ombre et transition à ses tokens de style mpr-card. Dans l'éditeur partagé, ils correspondent à "Primary surface", "Secondary", bordure "Normal", texte "Body" et "Muted", "Default radius", "Default shadow" et "Transition". Les overrides existants de la boutique peuvent modifier les valeurs.
Pour du CSS local, utilisez votre Classe CSS et l'enveloppe stable du contenu :
.mpr-html-block-content img { max-width: 100%; height: auto; }
.mpr-html-block-content table { width: 100%; border-collapse: collapse; }
.footer-trust-block .mpr-html-block-content {
display: flex;
gap: 1rem;
align-items: center;
}
.homepage-seasonal-banner.mpr-html-block-full-width {
padding-top: 2rem;
padding-bottom: 2rem;
}
L'éditeur standard n'a pas de champs de planification début/fin, de ciblage par groupe client ni par ID de produit/catégorie. Utilisez selon le cas les interrupteurs d'activation du bloc, du placement et du profil de page.
Vérifier et dépanner
Vérifiez le bloc dans chaque langue, à chaque emplacement affecté et aux largeurs téléphone et bureau. Désactivez un placement pour confirmer que les autres restent disponibles. Désactivez tout le bloc pour masquer tous ses placements.
Pour un bloc conditionné, testez les états indécis, accordé, refusé et retiré dans un navigateur où le module de consentement fonctionne. Vérifiez le libellé et le panneau de l'onglet produit si vous utilisez des onglets.
Si rien n'apparaît, vérifiez Actif du bloc, Actif du placement, contenu de langue, Actif du profil et affichage du hook par le thème. Pour un contenu conditionné, vérifiez la décision de consentement et les erreurs JavaScript du navigateur. Pour une position injectée, lancez Vérifier le statut et examinez le fichier template proposé.
Si un titre reste visible après avoir choisi Pas de titre, effacez le champ Titre. Le template actuel affiche un titre non vide avec une balise vide dans un div.
Utilisez Paramètres > Intégrité pour vérifier et réparer les tables requises du module. Si styles ou contenus restent périmés, videz les caches PrestaShop et page/CDN concernés et vérifiez les overrides des templates du thème.
Désinstaller
Sauvegardez blocs, placements et thème avant de désinstaller. Le module retire les injections de templates suivies avant de supprimer les entrées de menu et d'appeler le nettoyage du schéma. S'il ne peut pas retirer les injections, la désinstallation signale un échec pour permettre de corriger l'accès aux fichiers et réessayer. Les tables du module sont supprimées par le nettoyage du schéma ; exportez d'abord les contenus à conserver.
Compatibilité
Nécessite PrestaShop 1.6.1 ou une version ultérieure et PHP 7.1 ou une version ultérieure.
Questions
1
Le contenu de mes blocs peut-il affecter le chargement des pages ?
Problèmes connus
14
Les emplacements de blocs enregistrés s'affichaient mal
Le consentement propre à un service était ignoré
Les contrôles du thème se répétaient sur chaque page
La mise à jour du module s'arrêtait aux contrôles d'installation
Les traductions de l'administration s'affichaient mal
Échec de l'administration et du placement des blocs
Erreurs de compatibilité de la détection du thème
Échec des ressources du thème avec les feuilles de style regroupées
Les pages publiques du module échouaient sur certaines installations
Renforcement de la sécurité
Une nouvelle installation pouvait échouer
Échec de la modification des emplacements de blocs
Les listes de blocs ne récupéraient pas le contenu traduit
Les filtres des listes de blocs renvoyaient de mauvais résultats
Demandes de fonctionnalités
8
Implémenté
Réglages de style pour les blocs HTML
Placement visuel des blocs
Styles de blocs configurables
Blocs dans le conteneur de page
Administration multilingue des blocs
Mises à jour en un clic
Blocs soumis au consentement
Variables de contenu dynamiques
Journal des modifications
v1.6.72026-06-18
- AddedAdd configurable theme styles
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedRepair install schema and release packaging
Versions précédentes
v1.3.02026-02-02
- AddedUse Bootstrap container for contained blocks, bump to v1.6.0
- Addedself-healing integrity checks for automatic diagnostics and repair
- Addedautomatic theme detection for Classic and Hummingbird style compatibility
- AddedLicense management tab with key management and renewal options
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedSelect title/content from block_lang table, not block
- FixedAdd missing HtmlBlockPlacement ObjectModel class
- Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns
v1.2.02025-10-28
- Addedfull compatibility with PrestaShop 9.x and Hummingbird theme
- Addedconditional display rules: show/hide blocks by customer group, device type, or date range
- ImprovedWYSIWYG editor integration — TinyMCE 6 with custom toolbar configuration
- Fixedblock not rendering when hook name contained uppercase characters
- Addedshortcode support: {customer_name}, {shop_name}, {current_date} auto-replaced at render
v1.1.02025-09-01
- Addedblock scheduling: set start and end datetimes for seasonal campaigns
- Improvedmulti-shop support — blocks can be scoped to specific shops or shared globally
- FixedXSS sanitization incorrectly stripping valid <iframe> embed codes
- Addedblock preview button in admin list without needing to visit the front-office
v1.0.02025-03-31
- Initialrelease: custom HTML block manager for any PrestaShop hook
- InitialUnlimited blocks per hook with drag-and-drop position ordering
- InitialFull WYSIWYG editor with raw HTML fallback mode
- InitialMulti-language block content with per-language enable/disable toggle
Demo
Testez le module complet avant d'acheter
Achetez la licence plus tard et gardez vos réglages.
- Votre démo de 30 jours Testez-le sur votre propre boutique pendant 30 jours à partir de la première installation.
- Boutique de démo prête Découvrez une boutique de démo prête dans votre navigateur.
- Sans inscription Ni compte, ni e-mail, ni domaine de boutique requis.
En téléchargeant, vous acceptez les conditions de la démo et la politique de confidentialité.
En ouvrant cette démo, vous acceptez les conditions de la démo et la politique de confidentialité.