web-dev-qa-db-fra.com

Ouvrir un lien dans un nouvel onglet du menu

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?

6
usethe23

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'];
    }
  }
}
5
mikeDOTexe

Celui-ci fonctionne bien pour TOUS les liens externes:

function MYMODULE_link_alter(&$variables) {
  if ($variables['url']->isExternal()) {
    $variables['options']['attributes'] = ['target' => '_blank'];
  }
}
3
Roman Deiloff

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.

2
DRUPWAY

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.

1
vegardjo