Как добавить атрибут в 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']  = ...

атрибут в поле не отображается, хотя в структуре поля появляется.

Подскажите, как правильно костомизировать данное поле, чтобы добавить туда нужные мне атрибуты?

ВложениеРазмер
Иконка изображения ex1.png46.77 КБ
Иконка изображения ex2.png67.19 КБ

Комментарии

+ еще неправильно добавляете.
Атрибуты должны быть массивом, и их значения тоже массивами (сорри, это для 7-ки значения - массивы).

<?php
...['#attributes'] = array('class' => 'search-form');
?>

В Вашем случае:

<?php
$form
['field_redirect_isys']['#attributes'] = array('placeholder' => 'Текст заменителя');
?>
16 декабря 2015 в 18:37

Спасибо за рекомендации.
Пробовал устанавливать оба модуля, исправил передачу параметров на массив (ради эксперимента), но результатов это никаких не вызвало.
Мне вот интересно в созданных cck полях поле textfield имеет тип text_textfield, так и должно быть?

Дело в том, что я разбирал вышеуказанные модули, там работа ведется с типом textfield, да и к тому же если передавать placeholder для стандартного поля ноды "Заголовок", то в него значение записывается.

Или вот если я, к примеру, заполняю значение по умолчанию:

$form['field_redirect_isys'][0]['#default_value']['value']  = 'http://';

тоже все записывается и отображается, а вот placeholder не выводится

17 декабря 2015 в 11:02