2010-06-16 64 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网站获取更多信息。