2013-03-11 27 views
0

我有這個代碼,只需粘貼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()調用中添加一個類?

+0

嗯,你可以修改的視圖的'search_block_form' – tonyjmnz 2013-03-11 16:25:20

+0

你試過只是'。特殊的搜索形式input'無'[type =「text]'end? – 2013-03-11 16:25:41

+0

是的,它什麼也沒做...... – Rosamunda 2013-03-11 17:54:14

回答

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)通過一個主題[搜索 - 嵌段form.tpl.php]

<div class="extra_class"> 
    <?php echo $search_form; ?> 
</div> 
+0

謝謝!但是這些類不影響所有的serch形式嗎?有沒有一種方法來定位一個特殊的類型?搜索表單在頁面頂部,另一個在頁面底部)。 – Rosamunda 2013-03-11 17:53:51

0

你可以嘗試使用形式ID爲root CS上課。喜歡的東西:

#search-block-form input {} 

或者更詳細地定義它:

#search-block-form input[name="search_block_form"] {} 
相關問題