如何开发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的权限控制等其他很常见的参数都没有在这里用到,可以官网了解。