В 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'