Drupal 7创建整页自定义模块

时间:2017-08-16 14:09:23

标签: drupal drupal-7 drupal-modules drupal-views

我想创建一个完整的页面,自定义模块。通过这个,我的意思是一个模块没有包装到主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主题中。我想将此页面设为自己的整页网站。有人可以帮忙做这件事吗?

感谢

1 个答案:

答案 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:主题或模块的目录路径,因此它不会   需要被抬头看。