1. sites\all\modules目錄下可以分別建兩個目錄,一個存放 安裝別人寫的module,名字可以叫contributed ,另一個存放自己寫的,名字叫customized
舉例:
2. 在customized目錄下新建一個目錄,名字和文件名同名。(例如project)
在此目錄下至少創建兩個文件。
project.info 和project.module
project.info 文件內容舉例介紹:
name = project{必填項,模塊顯示的名字, 第一個單詞的首字
母大寫}
description = A simple projectmodule {必填項,簡短的描寫來說明
這個模塊是幹什麼用,主要是在module administ的時候看到的}
package = “project ” {可選項,這個模塊的分類,往往把相同功能的模
塊放到同個package裏}
version = “7.x-1.0 ” {可選項,這個模塊的版本號}
core = 7.x {必填項,你寫的模塊,支持drupal的哪個版本}
dependencies[] = taxonomy
{可選項,這個模塊依靠哪個模塊?}
project.module 內容文件舉例介紹:
我們可以在這裏使用鉤子函數來自定義自己的內容。(附:鉤子函數具體內容請自己查閱)
此處只拿hook_menu() 和hook_permission()舉例:
<?php
/**
* @file
* Main file for the project module.
*/
/**
* Implements hook_menu().
*/
function project_menu() {
$items = array();
# this first line is the url ('project')
$items['admin/config/project'] = array(
'title' => t('項目'),
'description' =>t('詳情'),
'access arguments' => array('view project'),
'page callback' => 'system_admin_menu_block_page',
'page arguments' => NULL,
'file' => 'system.admin.inc',
'file path' => drupal_get_path('module', 'system'),
);
$items['admin/config/project/project_list'] = array(
'title' => t('項目列表'),
'access arguments' => array('view project_list'),
'description' =>t('顯示所有項目'),
'page callback' => 'projects_list',
'page arguments' => NULL,
);
return $items;
}
function project_permission() {
return array(
'view project' => array (
'title' => t('項目'),
'description' => t('訪問鏈接來查看項目'),
),
'view project_list' => array(
'title' => t('查看所有項目列表'),
'description' => t('訪問鏈接來查看所有項目列表'),
),
);
}
function projects_list() {
$header = array('項目編號', '版本號', '項目名稱', '操作');
$data = array();
# set the database table
$query = db_select('node', 'n');
# configure the query
$query->condition('type', 'project')
->fields('n', array('nid', 'vid', 'title'));
# execute the query
$results = $query->execute();
foreach ($results as $row) {
$data[] = array($row->nid, $row->vid, $row->title, '');
}
$output = theme('table', array('header' => $header, 'rows' => $data));
return $output;
}
在 結構-》內容類型-》添加內容類型中添加‘project’類型,並創建一個node 。就可以使用projects_list() 。
現在可以在module 列表中看到project 模塊了,啓用此模塊,並且可以在用戶-》權限中 配置權限。
可以新註冊一個用戶來查看權限功能, 不要用超級用戶(安裝時的第一個用戶)。