2011-06-28 61 views
1

我正在使用jquery accordion(v.1.8)。當我使用DIV創建ID前綴丟失即jquery accordion drupal 6 id問題

$form['container'] = array(
    '#prefix' => '<div>', 
    '#attributes' => array('id' => 'accordion'), 
    '#suffix' => '</div>' 
); 

我看不到任何的id =「手風琴」在DOM 再加上如果我使用下面這個方法:

$form['container'] = array(
    '#prefix' => '<div id = "accordion">', 
    '#value' => t('&nbps;'), 
    '#suffix' => '</div>' 
); 

它的工作原理可以請你告訴我,因爲我是新來的dr​​upal的原因

回答

0

這是因爲Drupal正在尋找一些表單元素來添加id,但沒有發現。例如,如果您按如下方式製作#type字段集,那麼字段集的ID將爲「手風琴」。

$form['container'] = array(
    '#type' => 'fieldset', 
    '#prefix' => '<div>', 
    '#attributes' => array('id' => 'accordion'), 
    '#suffix' => '</div>', 
); 

上面的代碼將輸出一個DIV,其中包含id爲「accordian」的字段集。從那裏,你可以添加其他表單元素的字段集裏面,如:

$form['container']['fake'] = array(
    '#type' => 'textfield', 
    '#title' => t('My Textfield'), 
    '#size' => 30, 
    '#maxlength' => 128, 
    '#required' => TRUE, 
); 

有關的Drupal表單的詳細信息,請參閱Forms API Reference,它是一個極其寶貴的源信息。

+0

謝謝我只是想通了,我在循環中使用上面的代碼,並沒有分配唯一的編號:) – pugna