簡體   English   中英

如何以編程方式將CSS類添加到一段代碼中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM