Как добавить атрибут в CCK поле?

Аватар пользователя Poveritov Poveritov 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 КБ

Комментарии

Аватар пользователя bumble bumble 16 декабря 2015 в 18:37

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

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

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

<?php
$form
['field_redirect_isys']['#attributes'] = array('placeholder' => 'Текст заменителя');
?>
Аватар пользователя Poveritov Poveritov 17 декабря 2015 в 11:02

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

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

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

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

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