Как убрать из html то что в css display: none ?

Аватар пользователя VasyOK

Всем привет!

В теме оформления прописано в CSS
.containner .selektor {
display: none;
}

Т.обр. некоторые элементы не показываются.
Есть ли возможность исключить эти скрытые элементы из HTML?

Понимаю, что в Друпале при правильном подходе можно кастомизировать в шаблонах вывод чего угодно, но у меня подход НЕ правильный.

Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя itcrowd72
itcrowd72 3 месяца назад

Ты сам ответил на свой вопрос. Либо переопределяй шаблоны, либо альтери формы, если нужный элемент в них находится

Аватар пользователя bumble
bumble 3 месяца назад
VasyOK написал:
Есть ли возможность исключить эти скрытые элементы из HTML?

При особом желании - все есть.
Есть навыки парсинга CSS и HTML?

Аватар пользователя gun_dose
gun_dose 3 месяца назад

Если убрать всё, что display:none, то первым делом перестанут работать все формы. Думаю, несложно догадаться, почему.
По самому вопросу не ясна постановка: нужно убрать всё скрытое, при этом не трогая шаблоны и темизацию. Конечно же, есть вариант через JS

$('selector').detach();

Однако тут будет совершенно нулевой профит, потому что людям плевать, что там скрыто - его же не видно. А в поисковиках не работает js.

Аватар пользователя sas@drupal.org
sas@drupal.org 3 месяца назад

Надо понять нужен ли этот скрытый тег и если не нужен, убрать его на препроцессе.

Аватар пользователя bumble
bumble 3 месяца назад

Ребят, а где вы про формы видите что?

Аватар пользователя gun_dose
gun_dose 3 месяца назад

В заголовке. В любой друпаловской форме почти половина элементов подпадает под критерий "то что display:none"

Аватар пользователя bumble
bumble 3 месяца назад

Не, я просто думал може я дета не замечаю.
В описании ж нет что это про формы.

Аватар пользователя itcrowd72
itcrowd72 3 месяца назад

А я понял вопрос так: у автора есть скрытый с помощью css элемент. Автора это напрягает, он хочет чтобы этого элемента вообще не было в разметке.

Аватар пользователя bumble
bumble 3 месяца назад

О! и я так понял.

Давай, VasyOK, разконфьюзь нас. Через-чур уж много оперативки задействовано для пятницы ;)

Аватар пользователя VasyOK
VasyOK 3 месяца назад
bumble написал:
Есть навыки парсинга CSS и HTML?

При чем тут парсинг?

gun_dose написал:
нужно убрать всё скрытое, при этом не трогая шаблоны и темизацию

Не все, а кое что.
Не трогая шаблоны типа block.tpl.php, node.tpl.php
В template.php функцию написать возможно придется. Если конечно модуль для этого не найду.

Форма это или не форма - не принципиально. Это в html.

Если это можно сделать через https://api.drupal.org/api/drupal/includes%21theme.inc/function/template... - можете пример указать.

Аватар пользователя gun_dose
gun_dose 3 месяца назад

Что значит не принципиально? За каждый кусок хтмл отвечает отдельный препроцесс и отдельный шаблон.

Аватар пользователя bumble
bumble 3 месяца назад
VasyOK написал:
При чем тут парсинг?

При том что нужно распарсить CSS, вытащить из него элементы с display: none;, потом распарсить выплюнутый друпалом хтмл и заменив в нем элементы из первого пункта вернуть в поток.

VasyOK написал:
Если это можно сделать через https://api.drupal.org/api/drupal/includes%21theme.inc/function/template... - можете пример указать.

Это препроцессор html.tpl.php.

Аватар пользователя gun_dose
gun_dose 3 месяца назад
1

И самый главный вопрос: зачем?

Аватар пользователя VasyOK
VasyOK 3 месяца назад

Блин ссылка режется. Через это можно выджратть "не нужный" HTML ?
function template_preprocess_html

Зачем? Ну я экспериментатор. Задача вывести открытые фильтры вьюхи в разных местах страницы. Я вывел один фильтр несколько раз и скрыл лишнее через CSS. Работает, только в HTML мусора много.

Аватар пользователя Semantics
Semantics 3 месяца назад

Есть подозрение, что если вырежешь - то работать уже не будет

Аватар пользователя gun_dose
gun_dose 3 месяца назад

Если с умом, а не всё подряд, то будет. Главное же форм айди и токен не прибить.

Аватар пользователя Semantics
Semantics 3 месяца назад

Я пока наблюдаю диссонанс.
Сначала распихать по разным областям страницы фильтры, а потом спрашивать как убрать их оттуда, чтобы не мешали.

Подозреваю, что автору нужно не удалять, а ограничивать, чтобы форма на разных страницах была в разных местах, но про условные операторы ещё неизвестно

Аватар пользователя gun_dose
gun_dose 3 месяца назад

А я так понял, что в форме несколько фильтров, и надо каждый фильтр в своём месте вывести, и васёк решил это, выведя несколько раз одинаковую форму, и скрыв в каждой из форм ненужные части.

Аватар пользователя gun_dose
gun_dose 3 месяца назад

Можно. Но наверняка не весь. Напиши там dpm(get_defined_vars()) и смотри, что к чему.

Аватар пользователя VasyOK
VasyOK 3 месяца назад

Значит нужно его или подтвердить или развеять.

Аватар пользователя Phantom63rus
Phantom63rus 3 месяца назад

А можно ссылку на проект? Меня любопытство съедает где такое требуется:)