Как управлять элементами тега #markup?

Аватар пользователя maiskiykot maiskiykot 26 августа 2019 в 10:51

Вьюс выводит форму в виде тега #markup. Отсюда возникла проблема - в этой форме (точнее в теле #markup) есть теги с классами. Мне нужно скрыть часть этих тегов на определённых страницах. Как подобраться к этим тегам? Массив form почему-то ничего не выдает, остальные массивы тоже не пробиваются. Массив page единственный выдает содержимое $page['block']['views...']['#markup']. Как из друпала подобраться к тегам этой формы?

Лучший ответ

Аватар пользователя maiskiykot maiskiykot 26 августа 2019 в 11:43

Ступил. Полез через page, а надо было сразу через form идти. Сам допер, но все равно спасибо за комментарии.

Комментарии

Аватар пользователя bumble bumble 26 августа 2019 в 11:33

#markup - это сырая разметка, дальше только текст.
Если выводит форму #markup'ом, значит:

  • или, это результат отрендеренной функции (drupal_render), тогда искать кто рендерит, и альтерить уже тот участок
  • или, это может быть кеш, тогда определять свои стратегии кеширования
  • или, может кто-то нафигачил форму HTML'ем и вывел #markup'ом, тогда - отбить руки тому кто так сделал и вывести правильно, чтоб можно было править
Аватар пользователя gun_dose gun_dose 26 августа 2019 в 11:39

Можно конкретнее, что это за форма, которую выводит вьюс? Почему не используете hook_form_alter?

Аватар пользователя maiskiykot maiskiykot 26 августа 2019 в 11:43

Ступил. Полез через page, а надо было сразу через form идти. Сам допер, но все равно спасибо за комментарии.