2
我需要創建一個自定義模塊,以在特定菜單項上生成靜態HTML頁面。我知道如何使用菜單鉤子來創建菜單項,但是如何讓模塊在該菜單頁上生成靜態html?自定義Drupal模塊中的靜態HTML頁面
基本上我有一個靜態的HTML網站創建,我需要被納入模塊。然後,我將模塊發送給其他人在他們的網站上安裝。
我必須包含所有的圖像,CSS和JavaScript。它還需要生活在當前主題之外,因爲它具有不同的外觀和感覺。
我需要創建一個自定義模塊,以在特定菜單項上生成靜態HTML頁面。我知道如何使用菜單鉤子來創建菜單項,但是如何讓模塊在該菜單頁上生成靜態html?自定義Drupal模塊中的靜態HTML頁面
基本上我有一個靜態的HTML網站創建,我需要被納入模塊。然後,我將模塊發送給其他人在他們的網站上安裝。
我必須包含所有的圖像,CSS和JavaScript。它還需要生活在當前主題之外,因爲它具有不同的外觀和感覺。
創建的.html,的.css和.js文件就像你通常會(但不包括在.html文件<html>
,<head>
,或者<body>
的標籤,當加載你的模塊,這些都已經包括在內) 。你定義的任何CSS都會覆蓋Drupal的默認CSS。
然後,您可以使用Form API的item
元素導入您的靜態HTML頁面。
static_page.module
/**
* Implements hook_menu().
*/
function static_page_menu() {
$items = array();
$items['staticpage'] = array(
'title' => t('My Static Page'),
'page callback' => 'drupal_get_form',
'page arguments' => array('static_page_form'),
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
/**
* Implements hook_form().
*/
function static_page_form($form, &$form_state) {
// Add CSS and JS
drupal_add_css(drupal_get_path('module', 'static_page') . '/static_page.css');
drupal_add_js(drupal_get_path('module', 'static_page') .'/static_page.js');
// Import your static HTML page
$form['html'] = array(
'#type' => 'item',
'#markup' => file_get_contents(drupal_get_path('module', 'static_page') .'/static_page.html'),
);
return $form;
}
如果你不希望你的靜態頁面就包含了標準的頭,麪包屑,即顯示該網站的其餘側邊欄和頁腳,您可以使用CSS隱藏它們。
static_page.css
#header,
#breadcrumb,
.sidebar,
#footer-wrapper {
display: none !important;
}
謝謝這已經得到了我接近我所需要的。 – 2014-11-06 16:04:12