我构建了一个自定义模块来创建表单。现在我被困在了主题上。我已经有一个表单的CSS样式表,因为我的公司是政府的一部分,他们有预设的品牌。所以我想改变Drupal默认表单主题函数使用的HTML,从而实现正确的样式。
但只有表单的form-tag才会被呈现。字段集和元素不会呈现。删除主题功能后,默认主题就会启动并且表单正常呈现(但当然没有请求主题)。
到目前为止我尝试过:
function publicatieaanvraagformulier_theme() {
return array(
'publicatieaanvraagformulier_form' => array(
'arguments' => array("element" => NULL)
),
'publicatieaanvraagformulier_fieldset' => array(
'arguments' => array("element" => NULL)
),
'publicatieaanvraagformulier_form_element' => array(
'arguments' => array(
"element" => NULL,
"value" => NULL
)
)
);
}
$form['#theme'] = "publicatieaanvraagformulier_form";
$form['groep'] = array(
'#title' => t("Please fill in your details"),
'#type' => "fieldset",
'#theme' => "publicatieaanvraagformulier_fieldset"
);
$form['groep']['organisatie'] = array(
'#title' => t("Organization"),
'#type' => "textfield",
'#attributes' => array("class" => "text"),
'#theme' => "publicatieaanvraagformulier_form_element"
);
function theme_publicatieaanvraagformulier_form($element) {
function theme_publicatieaanvraagformulier_fieldset($element)
function theme_publicatieaanvraagformulier_form_element($element, $value)
我没有包含这些函数的代码,因为即使使用默认的主题函数代码,它们也不起作用。因此我认为它们不是问题的根源。
//Get the form
$form = drupal_get_form('publicatieaanvraagformulier');
//Add messages
$errors = form_get_errors();
if (!empty($errors)) {
$output .= theme("status_messages","error");
}
//Show form
$output .= $form;
return $output;
我没有找到类似'复杂'的表格形式的例子,但是从书籍和在线搜索拼凑了前者。
希望有人能回答这个问题(指出我犯的错误)。
问候 Jeroen