1. Главная
  2. Форумы
  3. Техподдержка Drupal
  4. Решение проблем

CCK и hook_form_alter

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

Задача: надо скрыть от глаз пользователя поле cck (заполняется с помощью js перед отправкой)

Долго ломал голову, пробовал разные способы. В итоге пришел к такому варианту:

function _hidde_field(&$element)
{
$name = $element['#field_name'] . "[0][value]";
$id = 'edit-' . str_replace ('_', '-', $element['#field_name']) . '-0-value';
$default_value = check_plain ($element[0]['#default_value']['value']);
$element[0]['#prefix'] = <<<PREFIX
<input type="hidden" name="$name" id="$id" value="$default_value" />
<!--
PREFIX;
$element[0]['#suffix'] = "\n -->\n";
}

и из hook_form_alter применяю эту функцию к нужным элементам.
В моем случае все это работает правильно, но больше похоже на костыль, чем на правильное решение.
Хотелось бы узнать, как такое правильно делать (что-то вроде [#type]=hidden).

Комментарии

Логотип drupal.ru

Содержимое сайта публикуется на условиях CreativeCommons Attribution-ShareAlike 3.0 или более поздней версии. Программные коды в тексте статей — на условиях GNU GPL v2 или более поздней версии.

Документация по совместной работе с репозиторием drupal.ru – https://docs.drupal.ru/code

Drupal – торговая марка Дриса Бёйтарта

12+

AltStyle によって変換されたページ (->オリジナル) /