我正在尝试将自定义主题应用于单个页面。该页面是我使用hook_menu设置的页面。 我已经实现了hook_theme但是当我刷新网站时,我收到以下错误:
致命错误:第1044行/srv/bindings/baf029321aa248e5907866cc7de3a6d6/code/includes/form.inc中不支持的操作数类型
以下是我的代码:
function mymodule_menu(){
$items['mymodule'] = array(
'title' => 'My-module',
'page callback' => 'drupal_get_form',
'page arguments' => array('mymodule_admin_page'),
'access arguments' => array('access content'),
);
return $items;
}
function mymodule_admin_page(){
drupal_set_message('My-module admin page responding');
return theme('mymodule_template');
}
function mymodule_theme($existing, $type, $theme, $path){
drupal_set_message('My-module theme hook responding');
return array(
'mymodule_template' => array(
#'render element' => 'elements',
'template' => 'mytemplate',
'path' => drupal_get_path('module', 'mymodule') . '/templates',
)
);
}
据我所知,当我将正斜杠添加到'path' => drupal_get_path('module', 'mymodule') . '/templates',
时会发生错误。
如果我删除斜杠,则错误消失但是,系统尝试并且无法找到mytemplate.tpl.php,因为它正在查看mymodule/templatemytemplate.tpl.php
。
答案 0 :(得分:0)
试试这个...... 此菜单alwaya调用表单函数而不调用主题函数
$items['mymodule'] = array(
'title' => 'My-module',
'page callback' => 'drupal_get_form',//this is use a get the form
'page arguments' => array('contactform_form'),// this is use a name of form
'access arguments' => array('access content'),
);
function contactform_form($form, &$form_state)
{
//write a form attributes
}