我正在为Drupal 7网站创建一个自定义模块,我需要使用表单钩子创建一个表单,然后将其包含在自定义模块的模板中。
我在.module文件中创建了一个简单表单:
function my_login_form($form, &$form_state) {
$form['email_address'] = array(
'#type' => 'textfield',
'#attributes' => array('placeholder' => t('Email Address')),
);
$form['phone'] = array(
'#type' => 'password',
'#attributes' => array('placeholder' => t('Password')),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => 'Login',
);
return $form;
}
在我的hook_menu()中,我创建了一条路由,“页面回调”指向该函数:
function my_login(){
return theme('my_login_template');
}
在我的hook_theme()函数中,它指向.tpl:
function my_theme(){
return array(
'my_login_template' => array(
'template' => 'login',
),
);
}
如何将my_login_form放入login.tpl.php文件中?
感谢您提供的任何帮助或可以指向我的任何地方。
答案 0 :(得分:1)
您需要将其传递给主题:
function my_login(){
$form = drupal_get_form('my_login_form');
return theme('my_login_template', array('form' => render($form)));
}
进入您的tpl:
<?php print $form; ?>
清除缓存主题