J'ai un module personnalisé modero_kbo qui crée un bloc personnalisé. J'ai besoin d'afficher ce bloc différemment selon l'endroit où il est placé sur ma page.Drupal 8 Twig - bloc personnalisé - deux modèles de brindilles travaillant troisième n'est pas?
J'ai cette fonction dans mon modero_kbo.module:
function modero_kbo_theme() {
return array(
'modero_kbo_vat' => array(
'variables' => array(
'form' => NULL
)
),
'modero_kbo__landing_page' => array(
'variables' => array(
'form' => NULL
)
),
'modero_kbo__landing_page__modero_kbo_form_2.html.twig' => array(
'variables' => array(
'form' => NULL
)
),
);
}
Et dans mon thème coutume fichier .theme:
/**
* Implements hook_theme_suggestions_HOOK_alter() for modero_kbo.html.twig.
*/
function moderosolid_theme_suggestions_modero_kbo_vat_alter(array &$suggestions, array $variables) {
if($node = \Drupal::routeMatch()->getParameter('node')){
$suggestions[] = 'modero_kbo__' . $node->bundle();
$suggestions[] = 'modero_kbo__' . $node->bundle() . '__' . $variables['form']['#attributes']['data-drupal-selector'];
}
}
Toutes les 3 suggestions de modèles font leur apparition dans ma source html sur la page. Les deux premiers fonctionnent réellement, le troisième ne fonctionne pas. J'ai tripple vérifié tous les noms de fichiers et l'orthographe.
J'ai 3 fichiers de modèles différents, les deux premiers fonctionnent, le troisième est dans la liste des suggestions, mais n'est pas utilisé pour une raison quelconque?
modero-kbo-vat.html.twig
modero-kbo--landing-page.html.twig
modero-kbo--landing-page--modero-kbo-form-2.html.twig