Étiquette : bloc statique

[Magento 2] Afficher de manière dynamique la base URL d’un store dans un bloc statique, un template PHTML, un layout XML

Note: billet amené à être enrichi au gré de mes besoins.

Doc officielle: Using Markup Tags in Links

Blocs CMS statiques

Documentation

Templates PHTML

Testé fonctionnel Magento 2.4:

Layouts XML

Pas testé:

[Magento 2] Inclure un bloc statique depuis un champ WYSIWYG

Inclure un bloc statique depuis n’importe quel champ WYSIWYG (contenu de page CMS, etc…).

Exemple:

[Magento] Récupérer l’URL du skin dans un bloc statique

Pour charger une image consignée dans /skin/frontend/default/_nom_de_mon_skin_/images/ dans un bloc statique :

Même chose depuis un fichier template (phtml) :

[Magento] Insérer un bloc statique créé en backoffice dans un gabarit de page depuis un fichier de layout xml et un fichier de template phtml

Admettons qu’on souhaite insérer un bloc statique dans la partie header d’une page. Il y a 3 étapes à suivre :

Editer le fichier de layout

Rendez-vous dans le répertoire /app/design/frontend/default/_nom_du_theme_/layout/ et localiser le fichier page.xml. Dans ce fichier, localiser le code se référant au header de la page (dans le thème par défaut) :

Et ajoutez-y le code suivant :

La méthode setBlockId permet de déclarer l’ID du bloc statique créé en back-office à ajouter.
Ne pas oublier :

  • de renseigner correctement les attributs name= »nb.headband » et as= »nbHeadband »
  • de renseigner correctement l’ID du bloc statique créé en back-office

Editer le fichier de template

Rendez-vous ensuite dans le répertoire /app/design/frontend/default/_nom_du_theme_/template/page/html/ et localiser le fichier header.phtml. Dans ce fichier, à l’endroit où vous souhaitez voir apparaître votre bloc statique, ajoutez la méthode suivante :

…où nbHeadband correspond à l’attribut as rensigné dans le fichier page.xml.

Créer le bloc statique en backoffice

Rendez-vous dans CMS > Blocs statiques et cliquez sur le bouton Ajouter un nouveau bloc. Le champ identifiant doit porter le même libellé que celui déclaré plus haut dans le fichier page.xml à savoir, pour notre exemple, nb-headband.