我想自定义我的Drupal后端表单。
我正在使用template.php文件..即
$form['menu']['#collapsed'] = true;
$form['author']['#collapsed'] = true;
$form['buttons']['#weight'] = 100;
但我想知道部分名称(菜单,作者,按钮)的来源。 (它们不是html代码中的id或类,所以我猜有一个索引,其中存储了所有名称。
我在哪里可以获得部分名称的完整列表?
例如,修订和发布部分的名称是什么? '修订','发布','发布'不起作用。
感谢
答案 0 :(得分:2)
如果我没弄错的话,你想要看到一些形式的结构。 drupal中的每个表单都有一个Id。首先,您需要知道form_id。您可以使用自定义模块和hook_form_alter的实现来执行此操作:
function mymodule_form_alter(&$form, $form_state, $form_id) {
drupal_set_message($form_id);
}
找到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);
}
}
现在当你转到包含表单的页面时,你会看到它的结构。每个表单元素都表示为一个数组,例如,一个文本字段可以是这样的:
$form['name'] = array(
'#type' => 'textarea',
'#title' => t('Username')
);
在Drupal网站上查找Form API以获取更多信息。
答案 1 :(得分:0)
我认为实际上没有一个像这样的表单的命名系统。在定义表单时,名称很可能是相同的,这可能是真正的。 Drupal核心可能是一致的,但是如果你想添加contrib模块,你就不能确定任何东西。