@lagudal

Как в M2 добавить контейнер в layout только для 2colunms-left страниц?

Не могу понять, надо в кастомном модуле добавить контейнер к 2-х колоночным страницам, конкретнее - добавить див что то вроде еще одного сайдбара, внутри colunms, на том же уровне что sidebar main и sidebar additional.
Вроде все должно быть просто, в layout папке модуля - vendor/my_vendor/mymodule/view/frontend/layout создаю default.xml, в котором и создаю нужный мне контейнер
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceContainer name="columns">
            <container name="div.sidebar.alt" htmlTag="div" htmlClass="sidebar sidebar-main-alt" after="div.sidebar.main">
                <container name="sidebar.alt" as="sidebar_alt" label="Sidebar Main Alternative">
                    <block>
                    ...тут содержимое блока
                    </block>
                </container>
            </container>
        </referenceContainer>
    </body>
</page>

Однако, несмотря на то что в page прописано layout="2columns-left" , вновь созданный контейнер виден не только на страницах с 2 колонками, но и с одной. Т.е. на страницах с 2 колонками в columns есть main, sidebar-main, sidebar-additional и мой кастомный sidebar-alt. A на одноколоночной странице sidebar-main и sidebar-additional как и положено отсуствуют, а мой кастомный sidebar-alt остается и идет сразу за main.
Нужно, чтобы этот контейнер был видим только на страницах с 2 колонками, но при этом на любых страницах у которых лейаут 2columns-leflt.
Причем если в лоб внаглую перезаписать в vendor/magento/module-theme/view/frontend/page_layout/2columns-left.xml, добавить этот контейнет прям там, то все работает как надо.
Попробовал перезаписать 2columns-left, создавал в папку frontend своего модуля папку page_layout и там там переопределить 2colunms-left.xml, но нет, так не работает.
Как правильно сделать то что мне надо?
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы