Убираем таксономию из формы редактирования ноды

Главные вкладки

Аватар пользователя beliy_snow beliy_snow 20 апреля 2007 в 11:52

И вот появилась необходимость убрать таксономию из юзерской части, точнее из формы редактирования ноды. Надо так надо, будем убирать.

Идем в наш модуль, в функцию ваш_модуль_form_alter(). Пишем следующий код.

<?php function ваш_модуль_form_alter($form_id, &$form) {
global $user;
if (isset($form['type']) && $form['type']['#value'] .'_node_form' == $form_id) {
foreach ($form['taxonomy'] as $key_taxonomy => $value_taxonomy) {
if (is_array($value_taxonomy) && isset($value_taxonomy['#size'])) {
$default_values = $form['taxonomy'][$key_taxonomy]['#default_value'];
$form['taxonomy'][$key_taxonomy] = array();
if (count($default_values) > 1)
{
foreach ($default_values as $key => $value)
{
$form['taxonomy'][$key_taxonomy][$key]['#type'] = 'hidden';
$form['taxonomy'][$key_taxonomy][$key]['#default_value'] = $value;
}
}
else
{
$form['taxonomy'][$key_taxonomy]['#type'] = 'hidden';
$form['taxonomy'][$key_taxonomy]['#default_value'] = $default_values[0];
}
}
}
}
}?>

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

Note: Не тестировалось с тэгами.