在drupal創建簡單的module

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 模塊了,啓用此模塊,並且可以在用戶-》權限中 配置權限。

可以新註冊一個用戶來查看權限功能, 不要用超級用戶(安裝時的第一個用戶)。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章