J'utilise Drupal 8 avec Bootstrap thème, et j'ai créé un sous-thème et différents menus.
J'ai essayé de modifier le menu twig template mais je ne connais pas vraiment Twig.
Comment puis-je ajouter un menu où les liens s'ouvrent dans de nouveaux onglets?
Dans mon cas, j'ai utilisé hook_link_alter () pour accomplir cela. Situation: dans mes liens de menu, il me suffit de nous contacter pour ouvrir dans un nouvel onglet.
<?php
function MYMODULE_link_alter(&$variables) {
if (!$variables['url']->isRouted()) {
$uri = $variables['url']->getUri();
// Only want the Contact Us to open in new tab.
if ($uri == 'base:contact-us') {
$variables['options']['attributes'] = ['target' => '_blank'];
}
}
}
Celui-ci fonctionne bien pour TOUS les liens externes:
function MYMODULE_link_alter(&$variables) {
if ($variables['url']->isExternal()) {
$variables['options']['attributes'] = ['target' => '_blank'];
}
}
Menu cible module en version dev pour D8 mais vous pouvez vérifier.
Permet aux utilisateurs privilégiés de choisir d'ouvrir ou non les éléments de menu dans une nouvelle fenêtre. Lorsqu'elle est activée, les utilisateurs qui ont accès pour ajouter ou modifier des éléments de menu ont la possibilité de choisir si les éléments de menu doivent être ouverts dans une nouvelle fenêtre ou dans la même fenêtre.
Attributs de lien de men le module résout cela hors de la boîte pour Drupal 8. Doit être défini pour chaque lien dans le menu, cependant.