Outils pour utilisateurs

Outils du site


drupal8:themes:chemin_complet_vers_fichier_du_theme

Chemin complet vers un fichier stocké dans le thème

Supposons que nous ayons une image stockée à cet endroit:

/themes/custom/MonTheme/images/ma_photo.jpg

Nouvelle méthode (beaucoup plus simple)

<img alt="Ma Photo" src="{{path('<front>') ~ directory }}/images/ma_photo.jpg" />

Ancienne méthode (plus compliquée)

Utiliser la variable directory dans le template twig :

<img alt="Ma Photo" src="{{ directory }}/images/ma_photo.jpg" />

Mais ça ne fonctionne pas !

L'astuce ci-dessous nous donne un chemin relatif qui fonctionne quand on est à la racine du site (sur la page d'accueil).

Mais dès qu'on va sur une autre page, le chemin qui était relatif à la racine ne fonctionne plus à partir de la page actuelle.

Il existe une variable base_path mais elle n'est pas disponible dans tous les templates, alors nous allons la rendre disponible en créant un fichier MonTheme.theme situé à la racine du thème.

Exemple /themes/custom/MonTheme/MonTheme.theme :

<?php
function MonTheme_preprocess(array &$variables, $hook) {
    $variables['base_path'] = base_path();
}

Normalement maintenant le chemin indiqué dans la variable base_path devrait être correct sur toutes les pages.

<img alt="Ma Photo" src="{{ base_path ~ directory }}/images/ma_photo.jpg">

Sources :

drupal8/themes/chemin_complet_vers_fichier_du_theme.txt · Dernière modification: 2019/08/11 05:42 par marclebrun