Убираем ненужные филдсеты hook_form_alter
Часто у всех возникает вопрос - как убрать лишние филдсеты при создании ноды node/add/page. Делается это все очень просто, для этого нужно создать свой модуль и использовать в нём hook_form_alter():
Создаем mymodule.info файл.
name = Name of our module
description = Desription about our module
core = 6.x
version = 6.x - 1.0
Создаем mymodule.module файл.
drupal_set_message($form_id); // Узнаем ID формы
switch($form_id) {
case 'page_node_form':
dpm($form); // установите Devel и смотрите содержимое формы
unset($form['menu'], $form['comment_settings']); // так нежелательно убирать.
$form['path']['#access'] = FALSE; //так желательно убирать ненужное
break;
}
}
В этом примере мы использовали switch() т.к. в большинстве случаев необходимо изменять ни одну форму, а несколько. Также не забудьте изменить "mymodule" на название вашего модуля.
ПРИМЕЧАНИЕ.
Если посмотрев массив $form, вы не видите всех филдсетов (сторонних модулей), то вам нужно в таблице {system} найти свой модуль и увеличить weight, чтобы наш hook запукался в самую последнюю очередь, иначе мы не увидим все элементы формы.
- Categories:
- heihachi's blog
- Add new comment
- 302 reads

Comments
fdfdfd
Блог о Drupal и PHP
Лишние это все?
Лишние это все?
Лишние - это те, которые вам
Лишние - это те, которые вам не нужны.