Dans OXID eShop 7, vous placez la notice sur la garantie légale sous le bouton d’ajout au panier par une extension de modèle : dans le bloc Twig details_productmain_tobasket du thème APEX, via un petit module ou un thème enfant. Une page CMS dans l’administration ne suffit pas, car l’éditeur supprime les scripts et la page article n’offre pas d’emplacement CMS libre.
Le code pour OXID eShop
<div data-garantielabel></div>
<script src="https://www.garantielabel.app/widget.js" async></script>Vous réglez les autres options, comme l’affichage et la langue, dans le générateur de code.
Pas à pas dans OXID eShop
- Module ou thème enfant
L’extension va dans un petit module ou un thème enfant (danstheme.phpavec'parentTheme' => 'apex'), afin que les mises à jour du thème APEX ne l’écrasent pas. Vous l’activez sous « Erweiterungen → Module » ou « Erweiterungen → Themes » (intitulé allemand). Il faut pour cela un accès aux fichiers ; c’est souvent votre agence qui s’en charge. - Étendre le bloc
Étendez le modèlepage/details/inc/productmain.html.twiget, dans le blocdetails_productmain_tobasket, placez le code du widget après{{ parent() }}. Avecparent(), le bouton d’ajout au panier reste inchangé. - Label GARAN par article
Pour vos propres labels GARAN, créez deux attributs sous « Artikel verwalten → Attribute » (intitulé allemand), par exemple « GARAN complet » et « GARAN imbriqué », puis saisissez sur l’article, sous « Auswahl → Attribute zuordnen », les adresses des deux fichiers. Dans le modèle, affichez les valeurs dansdata-garan-volletdata-garan-klein. - Vider le cache
Videz le cache des modèles avecvendor/bin/oe-console oe:cache:clearet vérifiez la page article, y compris avec des déclinaisons.
Dans un module, le fichier se trouve sous views/twig/extensions/themes/apex/page/details/inc/productmain.html.twig et ressemble à ceci :
{% extends 'page/details/inc/productmain.html.twig' %}
{% block details_productmain_tobasket %}
{{ parent() }}
<div data-garantielabel></div>
<script src="https://www.garantielabel.app/widget.js" async></script>
{% endblock %}Particularités de OXID eShop
- L’éditeur des pages CMS supprime
<script>. À partir d’OXID 7.5 s’y ajoute un HTML Sanitizer qui, s’il est activé, supprime les scripts. Le code doit donc aller dans le modèle. - Par défaut, les attributs attribués apparaissent aussi dans la liste des caractéristiques produit de la page de détail. Masquez-y au besoin les deux attributs GARAN dans le modèle.
- OXID 6 avec les thèmes Smarty Flow et Wave : le bloc porte le même nom. Les modules s’y accrochent via
blocksdansmetadata.php; le modèle estpage/details/inc/productmain.tpl.
La notice dans la confirmation de commande
Selon les lignes directrices de la Commission, la notice devrait aussi figurer dans l’e-mail de confirmation. La confirmation de commande utilise la page CMS d’identifiant oxuserorderemail, que vous modifiez sous « Kundeninformationen → CMS-Seiten » (intitulé allemand). Le JavaScript ne s’exécute pas dans les e-mails : ajoutez-y le graphique officiel en image. Un simple lien ne suffira probablement pas comme support durable (CJUE, affaire C-49/11) ; le plus sûr est de placer la notice directement dans l’e-mail, en image, en texte ou en pièce jointe. Les fichiers officiels se trouvent sur la page de téléchargement.
Sources
- Documentation développeur OXID : étendre un bloc d’un thème actif, en anglais
- Documentation développeur OXID : créer un thème enfant, en anglais
- Documentation développeur OXID : HTML Sanitizer (7.5), en anglais
- Manuel OXID : article, onglet Auswahl, en allemand
- Manuel OXID : pages CMS, en allemand
- Thème APEX sur GitHub (modèle de la page article)
Garantie du producteur ? Ajoutez le label GARAN
Si le fabricant offre une garantie commerciale de durabilité sans frais, de plus de deux ans et sur l’ensemble du bien, le label GARAN doit en plus figurer sur la fiche produit. Avec le générateur de label GARAN, vous le créez en quelques secondes à partir de la durée, de la marque et du modèle, gratuitement et sans inscription. Sous le label terminé, vous trouvez un code d’intégration avec des adresses d’image permanentes : rien à téléverser, il suffit de l’insérer dans OXID eShop comme ci-dessus.
Vous préférez vos propres fichiers ? Téléversez alors la version complète et la version imbriquée dans la médiathèque de OXID eShop et indiquez leurs adresses dans le code du widget :
<div data-garantielabel
data-garan-voll="https://…/GARAN-MX-500.svg"
data-garan-klein="https://…/GARAN-MX-500-imbrique.svg"></div>Le widget affiche alors la version imbriquée sous la notice sur la garantie légale ; un clic ouvre le label GARAN complet.
Questions fréquentes
Puis-je simplement coller le code dans une page CMS ?
Pas de façon fiable. L’éditeur supprime le script, et la page article n’a pas d’emplacement standard où une page CMS apparaîtrait automatiquement. Une petite extension de modèle est la voie sûre.
Dois-je modifier le thème APEX lui-même ?
Non. Un module ou un thème enfant avec {{ parent() }} suffit. Le thème d’origine reste compatible avec les mises à jour, et le bouton d’achat reste tel quel.
Où saisir le label GARAN par article ?
Par exemple comme valeur d’attribut sur l’article, sous « Auswahl → Attribute zuordnen » (intitulé allemand). Le modèle lit alors les adresses et les transmet au widget.