最简单的模块包含了2个文件夹,它们放置于同一个文件夹下:包含模块信息的文件以.info为后缀名,而实现功能的文件则以.module结尾。

可以给模块一个友好的(human-readable)名字,但是这个名字还需遵守命名规范:必须小写,不包含空格及特殊字符。

接着你需要用这个名字来为文件夹及文件命名,[还有在你的代码里还要经常用到这个名字作为函数的前缀]。

我们的模块 X-ray 需要写成xray,我们把xary.info,xary.module放在一个名字叫xray的文件夹里。

列表 18-1 xray.info文件

name = X-ray
description = Shows internal structures and connections of the web site.
core = 7.x

列表 18-2 xray.module 文件,包含注释(在/**和*/直接的)

<?php
/**
* @file
* Helps site builders and module developers investigate a site.
*/

/**
* Implements hook_form_alter() to show each form's identifier.
*/
function xray_form_alter(&$form, &$form_state, $form_id) {
$form['xray_display_form_id'] = array(
'#type' => 'item',
'#title' => t('Form ID'),
'#markup' => $form_id,
'#weight' => -100,
);
}

到此为止,你已经创建了一个模块

把文件夹xray放到sites/all/modules/custom(必要的话创建一个custom文件夹)。
在浏览器中查看模块管理页面(admin/modules),启用该模块(当然你可以使用drush命令来启用,不过最好你还是到管理页面确认一下他还在那里),一旦你启用xray就开始工作了。
你可以立即查看到管理模块页面的改变效果。
X-ray修改了站点的表单,让他们打印出表单ID;

注:模块管理页就是一个通过system_modules() 函数生成的很大的表单.

参考:http://drupalgarden.cn/doc/1150.html

https://drupal.org/developing/modules

最新文章

  1. Redis与KV存储(RocksDB)融合之编码方式
  2. 分享一个Object.defineProperties 定义一个在原对象可读可写的方法
  3. wifi display代码 分析
  4. 每天一道LeetCode--374. Guess Number Higher or Lower
  5. BootstrapDialog点击空白处禁止关闭
  6. CVirtualGridCtrl控件内的数据如何获取
  7. Being a Hero
  8. SQL触发器学习
  9. Log4net配置与使用简要说明
  10. dellR720重启找不到启动引导项,手动选择也无用。
  11. 分布式计算框架学习笔记--hadoop工作原理
  12. Urlparse模块
  13. dataframe常用处理
  14. 复习IIC协议---以AT24C02为例
  15. JMeter_方案上架,遇到的问题及解决
  16. Hbase 与mapreduce结合
  17. tomcat advanced (RUNNING)
  18. Spark记录-Scala介绍
  19. CSS(六):盒子模型
  20. Guice2.0的变化——第一部分 新的特性(上)

热门文章

  1. Vue在单独引入js文件中使用ElementUI的组件
  2. ES6多行字符串+模板字符串
  3. 简单的JS统计静态网站访问次数
  4. JQuery基础知识==jQuery选择器
  5. display详细说明
  6. html meta标签实现页面跳转
  7. Sharepoint 2013企业内容管理学习笔记(二) 全自动化内容管理
  8. Linux 学习 之 bash
  9. Android基础Activity篇——Toast
  10. 吴超hadoop7天视频教程全集