Это беспокоило меня некоторое время. Когда я пытаюсь скрыть такие поля, как поле групповой аудитории или параметр публикации из формы, при проверке формы в обоих этих полях устанавливается нулевое значение, даже если значение по умолчанию как были правильно объявлены.
Я пытался использовать Invisible, #access, unset hidden ничего не работает! Это очень беспокоит, потому что для моего текущего проекта пользователи могут редактировать только небольшие биты своего профиля в данный момент, например, только адрес или изображение, поэтому, если я скрываю групповую аудиторию, пользователь в итоге вылетает из групп, к которым он принадлежит. редактировать.
В итоге я использовал приведенный ниже код, чтобы скрыть эти поля, сохраняя при этом пользователя в своей группе.
$variables['user_edit_about']['group_audience']= $temp['group_audience'];
$variables['user_edit_about']['group_audience']['#prefix'] = '<div style="display:none;">';
$variables['user_edit_about']['group_audience']['#suffix'] = '</div>';
Кто-нибудь придумает лучший способ добиться этого?
Спасибо
источник
Ответы:
Редактировать:
Хорошо, я понял это. Поместите это в свой пользовательский модуль:
Это установит заголовок узла истории как «горячий материал», и он НЕ будет отображаться на странице, потому что #access = FALSE;
Вы можете добавить больше контроля гранулярности в hook_form_alter () как
Это работает для Drupal 6 & 7.
Старый ответ (игнорировать):
Прошло некоторое время с тех пор, как я сделал что-то подобное, так что я могу ошибаться. Если вы установите
[#value]
элемент формы, он не будет виден на форме.Я сделал это в Drupal 6,
hook_form_alter()
в пользовательском модуле. Я не знаю, будет ли это работать в Drupal 7, и я не знаю, сможете ли вы сделать это в функции предварительной обработкиисточник
Вы также можете просто добавить CSS-класс 'element-hidden' к элементу формы
Как упоминалось ранее в iStryker, все еще можно изменить значение с помощью манипулирования DOM. Однако это хороший и простой способ скрыть поле формы (или любой другой элемент рендеринга).
element-hidden
Класс определен вsystem.base.css
.источник