如何以编程方式向一段代码添加一个css类?
问题描述:
我有这个代码,只需粘贴drupal(7)搜索表单,无论我需要什么。如何以编程方式向一段代码添加一个css类?
<?php print drupal_render(drupal_get_form('search_block_form')); ?>
的事情是,there's没有办法,我的目标是特定input[type="text"]
没有页面内修改其他文本输入。
从来就试图把代码包装成一个类DIV,let's说特殊的搜索形式,所以我只是做
.special-search-form input[type="text"] {}
但是,不需额外做。 有没有办法在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)通过一个主题[搜索 - 嵌段form.tpl.php]
<div class="extra_class">
<?php echo $search_form; ?>
</div>
+0
谢谢!但是这些类不影响所有的serch形式吗?有没有一种方法来定位一个特殊的类型?搜索表单在页面顶部,另一个在页面底部)。 – Rosamunda 2013-03-11 17:53:51
答
你可以尝试使用形式ID为root CS上课。喜欢的东西:
#search-block-form input {}
或者更详细地定义它:
#search-block-form input[name="search_block_form"] {}
嗯,你可以修改的视图的'search_block_form' – tonyjmnz 2013-03-11 16:25:20
你试过只是'。特殊的搜索形式input'无'[type =“text]'end? – 2013-03-11 16:25:41
是的,它什么也没做...... – Rosamunda 2013-03-11 17:54:14