Как изменить форму создания/редактирования материала из template.php

/**
 * Регистрируем функцию темизации формы для материала типа NODETYPE
 */
function THEMENAME_theme() {
  return array(
    'NODETYPE_node_form' => array(
      'arguments' => array(
        'form' => NULL
      )
    )
  );
}
 
/**
 * Темизируем форму
 */
function THEMENAME_NODETYPE_node_form($form) {
  $form['menu']['#access'] = false;                 // скрываем блок "Параметры меню"
  $form['author']['#access'] = false;               // скрываем блок "Информация об авторе"
  $form['revision_information']['#access'] = false; // скрываем блок "Информация о редакции"
  $form['path']['#access'] = false;                 // скрываем блок "Параметры адреса"
  $form['options']['#access'] = false;              // скрываем блок "Параметры публикации"
 
  return drupal_render($form);
}

Вместо NODETYPE нужно подставить системное название типа материала, для которого темизируется форма, а вместо THEMENAME — название темы. Например garland_story_node_form.

В итоге форма создания материала будет содержать только поле для ввода заголовка, текста и блок выбора формата ввода:

Замечание: Таким образом можно темизировать любую форму выводимую друпалом, достаточно лишь вместо NODETYPE_node_form прописать id нужной формы.

Написанное актуально для
Drupal 6.x
Теги:
template.php, работа с формами, темизация
Добавлено: 26 Июля 2018 22:02:17 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...