Всем привет! Ребят помогите новичку, делю простой блок, вывожу в него форму, при этом если зайти из под админа, блок оборачивается пустым div-ом, без атрибутов. Если же выйти с сайта, div пропадает. Появляется только если в блок выводить форму, если вывести простой текст div исчезает. Вопрос что это за div? Как с ним бороться, и как форма выводимая в блок может влиять на обертку блока?
Комментарии
Во всем виноваты preprocess & theme
Ну хорошо виновников определили), а вот как с ними бороться? Вообще не понятно зачем нужны эти div-ы, и какую роль они играют. И хотя они походу привязаны к роли пользователя, их назначение туманно. Да и почему они реагируют только на формы? К стати если вывести в этот блок, вместо кастомной формы, к примеру форму модуля search, div-ы исчезнут, хотя на первый взгляд это самая обычная форма, нечем не отличающееся от любой другой. Вопрос, что же есть в форме модуля search, что отличает ее от кастомной формы, и как убрать эти div-ы).
массив для рендера блока формируется на preprcess а выводится через html.twig для анализа выявления и изменения на то что Вам надо можно использовать devel + мне нравится kint
Теоретически во всём виноваты контекстные ссылки (или как они там в д8), у которых классы убили.
Тогда это как объяснить?
Почему с формой появляются классы - независимо от авторизации? Контекстные ссылки же не пристёгиваются к формам, только к блокам и то, только при авторизации под админом.
У меня есть предположение, что форма оборачивается принудительно в DIV на уровне FormAPI (а-ля #prefix, #suffix) модулем, который её выводит. Но из описания вопроса автора поста как-то непонятно, оборачивается ли блок в DIV снаружи или изнутри контейнера блока.
PS. Если просто нужен явный специальный класс для блока (который бы не менялся) - есть модуль block_class
Блок оборачивается в div модулем BigPipe, нашел обсуждение данного вопроса на drupal.org вот тут https://www.drupal.org/project/facets/issues/2913563, там же можно найти и patch-и, работают или нет не знаю, не пробовал, но если отключить данный модуль div-ы исчезнут))).