Всем привет!
В теме оформления прописано в CSS
.containner .selektor {
display: none;
}
Т.обр. некоторые элементы не показываются.
Есть ли возможность исключить эти скрытые элементы из HTML?
Понимаю, что в Друпале при правильном подходе можно кастомизировать в шаблонах вывод чего угодно, но у меня подход НЕ правильный.
Комментарии
Ты сам ответил на свой вопрос. Либо переопределяй шаблоны, либо альтери формы, если нужный элемент в них находится
Да есть возможности, их много если на уровне темы то хуках в template.php, так же можно атттачить этот стиль через hook_ccs_alter и заменить своим нужным https://api.drupal.org/api/drupal/modules%21system%21system.api.php/func...
При особом желании - все есть.
Есть навыки парсинга CSS и HTML?
Если убрать всё, что display:none, то первым делом перестанут работать все формы. Думаю, несложно догадаться, почему.
По самому вопросу не ясна постановка: нужно убрать всё скрытое, при этом не трогая шаблоны и темизацию. Конечно же, есть вариант через JS
Однако тут будет совершенно нулевой профит, потому что людям плевать, что там скрыто - его же не видно. А в поисковиках не работает js.
Надо понять нужен ли этот скрытый тег и если не нужен, убрать его на препроцессе.
Ребят, а где вы про формы видите что?
В заголовке. В любой друпаловской форме почти половина элементов подпадает под критерий "то что display:none"
Не, я просто думал може я дета не замечаю.
В описании ж нет что это про формы.
А я понял вопрос так: у автора есть скрытый с помощью css элемент. Автора это напрягает, он хочет чтобы этого элемента вообще не было в разметке.
О! и я так понял.
Давай, VasyOK, разконфьюзь нас. Через-чур уж много оперативки задействовано для пятницы
При чем тут парсинг?
Не все, а кое что.
Не трогая шаблоны типа block.tpl.php, node.tpl.php
В template.php функцию написать возможно придется. Если конечно модуль для этого не найду.
Форма это или не форма - не принципиально. Это в html.
Если это можно сделать через https://api.drupal.org/api/drupal/includes%21theme.inc/function/template... - можете пример указать.
Что значит не принципиально? За каждый кусок хтмл отвечает отдельный препроцесс и отдельный шаблон.
При том что нужно распарсить CSS, вытащить из него элементы с
display: none;
, потом распарсить выплюнутый друпалом хтмл и заменив в нем элементы из первого пункта вернуть в поток.Это препроцессор html.tpl.php.
И самый главный вопрос: зачем?
Блин ссылка режется. Через это можно выджратть "не нужный" HTML ?
function template_preprocess_html
Зачем? Ну я экспериментатор. Задача вывести открытые фильтры вьюхи в разных местах страницы. Я вывел один фильтр несколько раз и скрыл лишнее через CSS. Работает, только в HTML мусора много.
Есть подозрение, что если вырежешь - то работать уже не будет
Если с умом, а не всё подряд, то будет. Главное же форм айди и токен не прибить.
Я пока наблюдаю диссонанс.
Сначала распихать по разным областям страницы фильтры, а потом спрашивать как убрать их оттуда, чтобы не мешали.
Подозреваю, что автору нужно не удалять, а ограничивать, чтобы форма на разных страницах была в разных местах, но про условные операторы ещё неизвестно
А я так понял, что в форме несколько фильтров, и надо каждый фильтр в своём месте вывести, и васёк решил это, выведя несколько раз одинаковую форму, и скрыв в каждой из форм ненужные части.
Можно. Но наверняка не весь. Напиши там dpm(get_defined_vars()) и смотри, что к чему.
Значит нужно его или подтвердить или развеять.
А можно ссылку на проект? Меня любопытство съедает где такое требуется:)