Comment ajouter une classe CSS sur le corps [Magento2]

19

J'essaie d'ajouter une classe CSS sur la balise body mais je ne trouve aucun fichier à partir duquel la balise body est rendue.

J'ai besoin d'ajouter une classe CSS sur la balise body, comme d'autres arrivent> page-avec-filtre page-produits page-layout-2columns-left myclasshere

dans la version précédente ci-dessous était le code xml pour ajouter une classe sur le corps.

<reference name="root">
    <action method="addBodyClass">
        <classname>my-profile</classname>
    </action>
</reference>

J'ai essayé de l'utiliser mais cela n'a pas fonctionné.

J'ai besoin d'ajouter une classe avec un page-layout-2columns-leftmodèle uniquement.

Jack
la source

Réponses:

43

Dans votre fichier de mise en page ou de modèle, vous devez ajouter un attribut à la balise body, comme ceci:

<body>
    <attribute name="class" value="my-css-class"/>
    ...

J'espère que cela pourra aider

Dave Farthing
la source
Merci Dave, maintenant il apparaît sur toutes les pages, je veux juste cette classe qui a la disposition de page-layout-2columns-left
Jack
Je ne peux pas imaginer une manière de réaliser facilement cela avec une mise en page seule, autre que le ciblage de chaque poignée de page qui utilise 2 colonnes à gauche comme mise en page, un peu comme M1.
Dave Farthing
1
Je pensais juste à ajouter les mêmes lignes dans 2-colonnes-left.xml donc cela ne visera que cette mise en page mais ça ne fonctionne pas.
Jack
Je viens d'ajouter la même chose sur category.xml et cela a fonctionné, merci :)
Jack
comment ajouter uniquement pour l'utilisateur de connexion?
Sunil Patel
0

Dans le cas où vous souhaitez ajouter une variable dynamique, par exemple. Stockez le code dans la classe de corps, vous pouvez jeter un œil à l'exemple suivant que j'ai fait: https://github.com/samgranger/StoreCodeBodyClass

Sam Granger
la source