2010-06-16 20 views
2

我想定製我的Drupal後端表單。

我使用template.php文件中..即

$form['menu']['#collapsed'] = true; 
    $form['author']['#collapsed'] = true; 
    $form['buttons']['#weight'] = 100; 

但我是從哪裏節名(菜單,作家,按鈕),來自疑惑。 (他們不是ID或HTML代碼類,所以我想有一個與存儲在某個地方的所有名稱的索引。

我在哪裏可以得到部分名稱的完整列表?

例如,有什麼名字修訂和發佈的部分?「修正」,「發佈」,「出版」不工作。

感謝

回答

0

我不認爲有實際上是一個命名系統具有這樣的形式,名稱是最有可能與定義表單時使用的相同,這可能是任何真正的Drupal核心可能是一致的,但如果你想添加貢獻m模塊,你無法確定任何事情。

+0

我實際上試圖瞭解哪裏可以讀取名稱,例如更改「修訂」部分的權重..我只能嘗試不同的名稱,但它不是非常有效的方法。 – aneuryzm 2010-06-16 11:09:14

+0

您可以使用devel模塊的'dpm'或者簡單的老式'print_r'來檢查一個變量。 – googletorp 2010-06-16 14:34:52

+0

很酷謝謝,我缺少print_r – aneuryzm 2010-06-16 15:20:54

2

如果我沒有弄錯,你想看看某種形式的結構。 Drupal中的每個表單都有一個Id。首先,你需要知道form_id。您可以hook_form_alter的自定義模塊和執行做到這一點:

function mymodule_form_alter(&$form, $form_state, $form_id) { 
    drupal_set_message($form_id); 
} 

當你找到了身份證,改變片段來打印出表格結構:

function mymodule_form_alter(&$form, $form_state, $form_id) { 
    if ($form_id == 'a_form_id') { 
     drupal_set_message(print_r('<pre>'. $form .'</pre>', true)); 
     // If you have installed Devel module, following line is much more readable: 
     // dpm($form); 
    } 
} 

現在,當你去包含表單頁面,你看到它的structure.Each形式元素被表示爲一個陣列,例如,文本字段可以是這樣的:

$form['name'] = array(
    '#type' => 'textarea', 
    '#title' => t('Username') 
); 

尋找在德魯巴表格API l網站獲取更多信息。