Добавить свойство CSS для отдельных компонентов в элементах формы - Drupal
У меня есть друпал форма, и мне нужно добавить отдельные классы для компонентов в элементе формы.
То есть мне нужно добавить атрибут class='text' в 'textbox (фактическое поле)' и class='title' в 'textbox title' (#title').
Как мне это сделать?
2 ответа
Кто-то уже ответил на ваш вопрос Удалите class= "form-item" из форм Drupal.
Эта функция дает возможность добавить class= 'title' к заголовку.
Но для class= 'text' вы должны иметь theme_textfield (или theme_textarea) для собственного template.php
Взять коды от./included/form.inc
Но я рекомендую делать тематику необходимой пользовательской формы, а не всех элементов формы. Где-то это может вызвать конфликты стилей и т. Д. Конечно, если клиент не требует изменения всех элементов формы. В реальном случае изменение элементов по умолчанию не требуется.
В первом случае - добавление класса к самому текстовому полю - используйте #attributes
имущество:
$form['foo'] = array(
'#type' => 'textfield',
'#title' => t('Textbox title'),
'#attributes' => array(
'class' => array('text'), // change to just 'text' for Drupal 6
),
);
Во втором случае - добавление класса к метке - вам не повезло с API форм. Вместо этого вы можете настроить таргетинг, используя класс-оболочку для поля и метки:
.form-item-field-foo label {
/* CSS here */
}