为表单元素中的各个组件添加css属性 - Drupal

时间:2011-02-16 09:07:20

标签: drupal drupal-forms

我有一个drupal表单,我需要在表单元素中为组件添加单独的类。

那就是我需要将属性class ='text'添加到'textbox(实际框)'和class ='title'添加到'textbox title'(#title')。

我该怎么做?

2 个答案:

答案 0 :(得分:9)

对于第一个将类添加到textfield本身的情况 - 使用#attributes属性:

$form['foo'] = array(
  '#type' => 'textfield',
  '#title' => t('Textbox title'),
  '#attributes' => array(
    'class' => array('text'), // change to just 'text' for Drupal 6
  ),
);

对于第二种情况 - 将类添加到标签中 - 您对Forms API感到不满意。相反,您可以使用字段和标签的包装类来定位它:

.form-item-field-foo label {
  /* CSS here */
}

答案 1 :(得分:2)

有人已回答您的问题Remove class=“form-item” from Drupal forms
该函数可以为标题添加class ='title' 但是对于class ='text',你应该使用theme_textfield(或theme_textarea)来拥有template.php
从./included/form.inc中获取代码 但我建议做主题所需的自定义表单,而不是所有表单元素。在某处它可以引发样式冲突等。当然,如果客户端不要求更改所有表单元素。在实际情况下,不需要更改默认元素。