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

时间:2013-03-11 16:22:49

标签: php css class drupal

我有这个代码,只需粘贴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()调用中添加一个类?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

您可以尝试将表单ID用作root css类。类似的东西:

#search-block-form input {}

或者更详细地定义它:

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