Drupal 8 - Template - Spécifier un thème spécifique

Posté le Samedi 27 avril 2019 - 11:21

Quand un template est appelé via un « reder array », le template va être cherché en priorité dans le thème actif, puis dans le module qui déclare ce template.

Dans certains cas, cela peut poser problème : Si un template peut-être appelé dans un contexte back ou front, les thèmes sont la plupart du temps différents. La solution de feignant pourrait être de dupliquer ce template dans les deux thèmes. Mais c'est évidement pas une bonne solution.

Dans la déclaration du template on peut spécifier où trouver le template en question :

  1. $themes['xml_sitemap'] = [
  2. '#template' => 'xml-sitemap',
  3. 'path' => drupal_get_path('theme', 'mon_theme_back') . '/templates',
  4. 'variables' => [
  5. 'urls' => [],
  6. ],
  7. ];

Ainsi peut importe si mon template est appelé depuis le front ou depuis le back ça sera toujours le fichier :

themes/custom/mon_theme_back/templates/xml-sitemap.html.twig qui sera utilisé.

 

Ajouter un commentaire

Ne sera pas publié

HTML restreint

  • Balises HTML autorisées : <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et les adresses courriel se transforment en liens automatiquement.