如何开发drupal 7的模块

1. 创建module文件夹:

sites/all/modules/mymod

2. 创建 info 文件:

sites/all/modules/mymod/mymod.info

这个文件用来存取 module 的一些元信息,比如所在的 package,module 名称等等,如下:

name = Mymod
description = My First Drupal Module
package = Customer Module
core = 7.x


这些信息会在后台 module(admin/modules)里面显示

3. 创建 module 文件

 sites/all/modules/mymod/mymod.module

给这个文件添加 <?php 就可以在后台看到这个module的信息了,并且可以开启

4. 使用 hook_menu 给模块添加菜单

 假使我们需要为这个模块创建一个用户可以访问的menu,可以通过 hook_menu 定义:

function mymod_menu(){
    $item['test'] = array(
        'page callback' => 'test_callback',
        'access callback' => TRUE,
        'type' => MENU_CALLBACK
    );
    return $item;
}

然后 clear drupal cache,把这个 menu 写入到数据表。

当用户访问这个menu的时候,会调用test_callback函数,所以我们还需要定义 test_callback 函数:

function test_callback(){
    $content = theme('test_theme');
    return $content;
}

test_callback函数里面调用了主题函数,然后呈现一些自定义的 UI 给用户。所以我们还需要定义这个theme,使用 hook_theme:

function mymod_theme(){
    $path = drupal_get_path('module', 'mymod');
    return array(
        'test_theme' => array(
            'template' => 'view-test-template',
            'path' => $path.'/template'
        )
    );
}

然后创建文件 sites/all/modules/mymod/template/view-test-template.tpl.php

这个文件就是主题模板文件。

5. 说明

hook_menu, hook_theme有很多其他的参数,这里只是作为一个流程展示(定义menu->回调函数->theme),所以用的参数很少。比如说menu的权限控制等其他很常见的参数都没有在这里用到,可以官网了解。