web-dev-qa-db-fra.com

Éléments de menu non cliquables

Dans un site Drupal 8, je veux ajouter des éléments de menu sans "lien", je pensais que le nolink était autorisé mais quand je l'ai entré, j'ai eu une erreur

Les chemins entrés manuellement doivent commencer par /,? ou #.

Existe-t-il un moyen d'ajouter des éléments de menu non cliquables sans ajouter "#" car "#" ajoute l'attribut [data-drupal-link-system-path = ""] et [class = "is-active"]

21
Mohamed Osama Gbril

Vous devez utiliser route:<nolink> pour y parvenir. Ensuite, il validera et restituera sans lien.

48
Kevin

Pour créer un élément de menu sans lien dans un module personnalisé, ajoutez à [nom_module] .links.menu.yml:

url: 'internal:##'

Vous devez ajouter un deuxième caractère # (ou toute autre lettre ou mot url: 'internal:#nolink') pour que l'attribut href ne soit pas rendu vide, ce qui entraînera un rechargement de la page si l'utilisateur clique sur le lien.

2
Guest312312

et ajouter une classe ou un style pour l'élément [a style = "pointeur-événements: aucun; curseur: par défaut; texte-décoration: aucun;" ...][/une]

pointer-events:none; cursor:default; text-decoration:none;
1
Promo IL

Pour Drupal 8, vous pouvez créer un lien par programme en utilisant Link :: fromTextAndUrl non lié comme ça:

$my_link = Link::fromTextAndUrl(t('This is my link text'), Url::fromUri('route:<nolink>'));

Vous pouvez éventuellement le convertir en un tableau à l'aide de: $my_link = $my_link->toRenderable();

0
Javi García