2

drupal フォームがあり、フォーム要素のコンポーネントに個別のクラスを追加する必要があります。

つまり、属性 class='text' を 'textbox (実際のボックス)' に追加し、class='title' を 'textbox title' (#title') に追加する必要があります。

どうすればいいですか?

4

2 に答える 2

9

最初のケース (クラスをテキストフィールド自体に追加する) では、次の#attributesプロパティを使用します。

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

2 番目のケース (クラスをラベルに追加する) では、Forms API がうまくいきません。代わりに、フィールドとラベルのラッパー クラスを使用してターゲットにすることができます。

.form-item-field-foo label {
  /* CSS here */
}
于 2011-02-16T09:27:31.090 に答える
2

誰かがすでにあなたの質問に答えていますRemove class=“form-item” from Drupal forms
その関数は、タイトルに class='title' を追加する可能性を与えます。
ただし、class='text' の場合は、theme_textfield (または theme_textarea) で template.php を所有する必要があります ./included/form.inc
からコードを取得
します。どこかでスタイルの競合などが発生する可能性があります。もちろん、クライアントがすべてのフォーム要素の変更を要求しない場合は。実際には、デフォルトの要素を変更する必要はありません。

于 2011-02-16T09:28:09.373 に答える