[英]How to add a css class programmatically to a piece of code?
我有這段代碼,只需粘貼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()調用中添加一個類?
有兩種方法可以解決此問題。
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>
您可以嘗試將表單ID用作root CSS類。 就像是:
#search-block-form input {}
或更詳細地定義它:
#search-block-form input[name="search_block_form"] {}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.