Comment ajouter une classe supplémentaire à chaque élément du template menu-local-task.html.twig ?

Aug 23 2020

Je dois modifier le modèle d'onglet d'administration en y ajoutant mon wrapper et ma classe.

C'est le code par défaut :

<li{{ attributes.addClass(is_active ? 'is-active') }}>{{ link }}</li>

Mon code :

<div {{ .attributes.addClass(is_active ? 'DefTabs__tabItem--active') }}>{{ link }}</div>

Actuellement, la classe "DefTabs__tabItem--active" est ajoutée au lien actif, mais je dois ajouter une classe CSS supplémentaire "DefTabs__tabItem" à chaque élément DIV. Comment puis-je faire ceci?

Réponses

1 NoSssweat Aug 23 2020 at 06:01

Créez un tableau, ex :

{%
    set classes = [   
      is_active ? 'is-active',
      'my-second-class-name',
    ]
%}

<div {{ attributes.addClass(classes) }}>{{ link }}</div>

Actuellement, la classe "DefTabs__tabItem--active" est ajoutée au lien actif, mais je dois ajouter une classe CSS supplémentaire "DefTabs__tabItem" à chaque élément DIV.

Au fait, pas besoin de vous répéter avec le nommage, faites ceci :

{%
    set classes = [   
      'DefTabs__tabItem',
      is_active ? 'active',
    ]
%}

<div {{ attributes.addClass(classes) }}>{{ link }}</div>

Ensuite, en CSS, vous pouvez cibler l'actif avec.DefTabs__tabItem.active { ... }