0

必要なだけ drupal(7) 検索フォームを貼り付けるこのコードがあります。

<?php print drupal_render(drupal_get_form('search_block_form')); ?> 

input[type="text"]問題は、ページ内の他のテキスト入力を変更せずに特定のものをターゲットにする方法がないということです。

コードをクラス DIV にラップしようとしました。たとえば、special-search-formとしましょう。

.special-search-form input[type="text"] {}

しかし、それはしません。その drupal_render() 呼び出し内にクラスを追加する方法はありますか?

4

2 に答える 2

0

これを処理するには 2 つの方法があります。

A) モジュールを通して

function hook_form_alter(&$form, &$form_state, $form_id) {
  switch ($form_id) {
    case 'search_block_form':
      $form['#attributes']['class'][] = 'extra_class';
      break;
  }
}

明確にする必要がありますが、これも機能する可能性があると思います...

function hook_search_block_form_alter(...) {
  $form['#attributes']['class'][] = 'extra_class';
}

B) テーマ[search-block-form.tpl.php] を介して

<div class="extra_class">
  <?php echo $search_form; ?>
</div>
于 2013-03-11T16:30:30.253 に答える
0

フォーム ID をルート css クラスとして使用することができます。何かのようなもの:

#search-block-form input {}

または、より詳細に定義します。

#search-block-form input[name="search_block_form"] {}
于 2013-03-11T17:45:54.210 に答える