我想创建一个完整的页面,自定义模块。通过这个,我的意思是一个模块没有包装到主Drupal站点中。这是我的代码:
myapp.module:
function myapp_menu()
{
$result = array();
$result['myapp/home'] = array(
'title' => 'My App Title', // Title of our page
'description'=> 'My App Web Site', // Description of our page
'page callback' => 'myapp_function',
'access arguments' => array('access content'), // permission to access this page
'type' => MENU_NORMAL_ITEM, // type of menu item
);
return $result;
}
function myapp_function(){
return theme('my_custom_template');
}
function myapp_theme(){
return array(
'my_custom_template' => array(
'template' => 'myapp-page',
),
);
}
MyApp的-page.tpl.php中
Hello World
问题在于,当显示页面时,它仍然保留在主Drupal Sites主题中。我想将此页面设为自己的整页网站。有人可以帮忙做这件事吗?
感谢
答案 0 :(得分:0)
你可以这样破解:
function myapp_function(){
print theme('my_custom_template');
exit;
}
您也可以使用https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_theme/7.x
中列出的声明选项参数
array $ existing:可以使用的现有实现的数组 用于覆盖目的。这主要适用于可能的主题 希望检查现有的实现以提取数据(例如 参数),以便它可以正确地注册自己的,更高的优先级 的实施方式。
$ type:是否正在处理主题,模块等。这是 主要是有用的,以便主题告诉它们是否是真正的主题 被叫或是父主题。可能是以下之一:
'module':正在检查模块的主题实现。 'base_theme_engine':正在检查主题引擎的主题 是使用的实际主题的父级。 'theme_engine':一个主题 正在检查引擎是否使用了实际主题。 'base_theme': 正在检查主题实现的基本主题。 '主题': 正在检查使用中的实际主题。 $ theme:实际名称 正在处理的主题,模块等。
$ path:主题或模块的目录路径,因此它不会 需要被抬头看。