Как добавить атрибут в CCK поле?
16 декабря 2015 в 17:07
В hook_form_alter костомизирую форму ноды, в которой присутствуют поля CCK.
Мне нужно добавить атрибут в input для CCK поля textfield (см. прикрепление).
Но почему-то при добавлении данного кода:
$form['field_redirect_isys'][0]['#attributes']['placeholder'] = ...
или
$form['field_redirect_isys']['#attributes']['placeholder'] =...
$form['field_redirect_isys']['#attributes']['class'] = ...
или
$form['field_redirect_isys']['#attributes']['placeholder'] =...
$form['field_redirect_isys']['#attributes']['class'] = ...
атрибут в поле не отображается, хотя в структуре поля появляется.
Подскажите, как правильно костомизировать данное поле, чтобы добавить туда нужные мне атрибуты?
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Стандартный FAPI не поддерживает атрибут placeholder.
Для его использования нужно дополнительно установить какой нибудь из модулей:
https://www.drupal.org/project/placeholder
https://www.drupal.org/project/elements
+ еще неправильно добавляете.
Атрибуты должны быть массивом,
и их значения тоже массивами(сорри, это для 7-ки значения - массивы).<?php
...['#attributes'] = array('class' => 'search-form');
?>
В Вашем случае:
<?php
$form['field_redirect_isys']['#attributes'] = array('placeholder' => 'Текст заменителя');
?>
Спасибо за рекомендации.
Пробовал устанавливать оба модуля, исправил передачу параметров на массив (ради эксперимента), но результатов это никаких не вызвало.
Мне вот интересно в созданных cck полях поле textfield имеет тип text_textfield, так и должно быть?
Дело в том, что я разбирал вышеуказанные модули, там работа ведется с типом textfield, да и к тому же если передавать placeholder для стандартного поля ноды "Заголовок", то в него значение записывается.
Или вот если я, к примеру, заполняю значение по умолчанию:
тоже все записывается и отображается, а вот placeholder не выводится
'#type' => 'textfield'