Как добавить класс CSS на теле [Magento2]

19

Я пытаюсь добавить класс css для тега body, но не могу найти файл, из которого отображается тег body.

Мне нужно добавить один класс CSS к тегу body, например, для других> страница-с-фильтром page-products page-layout-2columns-left myclasshere

В предыдущей версии ниже был XML-код для добавления класса в тело.

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

Я пытался использовать это, но это не сработало.

Мне нужно добавить один класс page-layout-2columns-leftтолько с шаблоном.

разъем
источник

Ответы:

43

В вашем макете или файле шаблона вам нужно добавить атрибут к тегу body, например так:

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

Надеюсь, это поможет

Дейв Фартинг
источник
Спасибо Дэйв, теперь он появляется на всех страницах, я просто хочу этот класс, который имеет макет page-layout-2columns-left
Jack
Не могу придумать, как легко добиться этого с помощью только макета, кроме нацеливания на каждый дескриптор страницы, который использует 2column-left в качестве макета, почти так же, как M1.
Дейв Фартинг,
1
Я просто думал добавить те же строки в 2-columns-left.xml, так что это будет нацелено только на этот макет, но он не работает.
Джек
Я только что добавил то же самое в category.xml, и это сработало, спасибо :)
Jack
как добавить только для входа пользователя?
Сунил Патель
0

Если вы хотите добавить динамическую переменную, например. Храните код в классе тела, вы можете взглянуть на следующий пример, который я сделал: https://github.com/samgranger/StoreCodeBodyClass

Сэм Грейнджер
источник