Solución:
En mi caso utilicé hook_link_alter () para lograr esto. Situación: en mis enlaces de menú, solo necesito Contáctenos para abrir en una nueva pestaña.
<?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'];
}
}
}
Este funciona bien para TODOS los enlaces externos:
function MYMODULE_link_alter(&$variables) {
if ($variables['url']->isExternal()) {
$variables['options']['attributes'] = ['target' => '_blank'];
}
}
Módulo de destino del menú en la versión dev para D8, pero puede verificar.
Permite a los usuarios privilegiados elegir si abrir o no los elementos del menú en una nueva ventana. Cuando está habilitado, los usuarios que tienen acceso para agregar o editar elementos del menú, tienen la posibilidad de elegir si los elementos del menú deben abrirse en una nueva ventana o en la misma ventana.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)