Dans drupal 8, parfois le thème ajoute des suggestions de template qui vont bien, en fonction du type de noeud et du view_mode, mais ça n'est pas toujours le cas, voici comment faire pour ajouter des suggestions de template via le hook HOOK_theme_suggestions_HOOK() :
function MONMODULE_theme_suggestions_node(array $variables) {
$suggestions = [];
/** @var \Drupal\node\Entity\Node $node */
$node = $variables['elements']['#node'];
$sanitized_view_mode = strtr($variables['elements']['#view_mode'], '.', '_');
$suggestions[] = $variables['theme_hook_original'] . '__' . $sanitized_view_mode;
$bundle = $node->bundle();
$sanitized_bundle = strtr($bundle, '.', '_');
$suggestions[] = $variables['theme_hook_original'] . '__' . $sanitized_bundle;
$suggestions[] = $variables['theme_hook_original'] . '__' . $sanitized_bundle . '__' . $sanitized_view_mode;
return $suggestions;
}
Pour un type de contenu article en mode de vue teaser on aura ainsi les possibilités de templates suivantes :
- node.html.twig
- node--article.html.twig
- node--teaser.html.twig
- node--article--teaser.html.twig
Contenus en rapport
VIa le module media_library_form_element, Voici comment ajouter un champ de type « référence à un media » dans un formulaire personnalisé en utilisant le widget Media Library :
Ça n'est pas une nouveauté de Drupal 8, toute partie d'une page d'une page est rendue avec un template.
Il existe un paquet de templates de base :
Ajouter un commentaire