我的联系我们页面上没有显示使用自定义模块的表单。我创建了.module
文件和.info
文件,然后激活了该模块。以下是我在.module
文件中包含的代码
function custom_form_module_form($form,&$form_state) {
$form['name'] = array(
'#type' => 'textfield',
);
$form['company'] = array(
'#type' => 'textfield',
);
$form['phone'] = array(
'#type' => 'textfield',
);
$form['email'] = array(
'#type' => 'textfield',
);
$form['message'] = array(
'#type' => 'textfield',
);
return $form;
}
并在我的template.php文件中
function custom_form_module_form_theme($existing, $type, $theme, $path) {
$items['custom_form_module_form'] = array(
'render element' => 'form',
'template' => 'page--contact-us',
'path' => drupal_get_path('theme', 'escorts').'/templates');
return $items;
}
并在我的page--contact-us.tpl.php
中,我使用以下行调用表单的单独字段但不起作用。
<?php echo drupal_render($form['name']); ?>
“此处custom_form_module=my module name
和page--contact-us.tpl.php=my template file
以及escorts=my theme name
”
答案 0 :(得分:0)
要在联系页面中打印表单,您可能无法使用template.php
。
简单地:
$my_form = drupal_get_form('custom_form_module_form');
print drupal_render($my_form);
<强>更新强>
从template.php
function theme_my_form_1($form) {
$vars['element'] = $form;
$markup = '';
$markup .= '<div id="form-name-wrapper">'
. drupal_render($form['name'])
. '</div>';
// continue altering the markup
$vars['element']['#children'] = $output;
return theme_form($vars);
}
然后,在.tpl.php
文件中:
$my_form = drupal_get_form('custom_form_module_form');
print theme_my_form_1($my_form);