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

有两种方法可以处理这个问题。

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 回答