Php 如何以编程方式将css类添加到一段代码中?

Php 如何以编程方式将css类添加到一段代码中?,php,css,class,drupal,Php,Css,Class,Drupal,我有这段代码,只要粘贴drupal(7)搜索表单就可以了 <?php print drupal_render(drupal_get_form('search_block_form')); ?> 但那不行。 有没有办法在drupal_render()调用中添加类?有两种方法可以处理这个问题 A) 通过模块 function hook_form_alter(&$form, &$form_state, $form_id) { switch ($form_id) {

我有这段代码,只要粘贴drupal(7)搜索表单就可以了

<?php print drupal_render(drupal_get_form('search_block_form')); ?> 
但那不行。
有没有办法在drupal_render()调用中添加类?

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

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]


您可以尝试将表单ID用作根css类。比如:

#search-block-form input {}
或者更详细地定义它:

#search-block-form input[name="search_block_form"] {}

嗯,您可以修改
搜索块表单的视图
您是否尝试过
。特殊搜索表单输入
,但最后没有
[type=“text]
?是的,它没有任何作用…谢谢!但是这些类不会影响所有的serch表单吗?有没有办法针对一个特殊的表单?(我需要在页面顶部和底部分别放置一个搜索表单)。
#search-block-form input {}
#search-block-form input[name="search_block_form"] {}