Drupal使用.info文件来保存关于主题(theme)和模块(modules)的基本数据(metadata)。
编码:推荐使用UTF-8,就是不带BOM(Byte Order Mark)。
以下是一个.info的例子
name = Really Neat Widget description = Provides a really neat widget for your site's sidebar. core = 7.x package = Views dependencies[] = views dependencies[] = panels files[] = tests/example.test configure = admin/config/content/example
他包括的属性有:
- name 必须
- description 推荐
- core 必须
- stylesheets
- scripts
- files
- dependencies
- package
- php
- version 不鼓励
- configure
- required
- hidden
- project 不鼓励,仅适合封装时使用
- project status url 仅用在不提交到drupal.org上的订制模块。
解释一下:
name (必须)
这个将显示模块的名称,写成可读性强的,这里不要写成 really_neat_widget
name = Really Neat Widget
description (推荐)
最好写一下,用一行简单说明模块用途。最多255字符。
description = Provides a really neat widget for your site's sidebar.
说明里可以包括链接,这样可以很方便让使用者链接到指定页面,了解更多模块的信息和使用。
description = Domain manager by <a href="http://petermoulding.com">Peter Moulding .com</a>.
core (必须)
你模板适用的Drupal版本。如果是Drupal 7就写 7.x。注意版本不能指定子版本。写7.12不正确
core = 7.x
stylesheets (可选)
如果你每页都需要用到CSS文件,Drupal 7允许你在这里添加。格式可以参考主题(theme)里的 .info
stylesheets[all][] = node.css
scripts (可选)
如果你每页都需要用到Javascript文件,你能在这里添加。
scripts[] = somescript.js更多信息,可以参考 Drupal 7中Javascript的管理
files (可选)
Drupal 现在支持动态载入代码注册表。为了支持这个功能,所有模块必须在.info文件中事先预读那些包含类(classes)和接口(interface)声明的代码文件。
files[] = tests/example.test
当一个模块打开(enabled)后,Drupal将会重新扫描所有files里声明的文件,索引所有能找到的类(classes)和接口(interface)。当类第一次被访问到,它就会自动被PHP载入。
dependencies (可选)
运行模块时所要求其他模块支持
dependencies[] = view dependencies[] = panels注:这里虽然只用到了模块 View 和 Panels,不过他们会用到模块Chaos tools,所以会自动加入。
如果你要指定需要某个版本的模块,你可以用以下表达方法
dependencies[] = modulename (major.minor)
major是数字表达主版本号,minor可以是数字或字母表示次版本号。.x可以用来表示任何次版本号。以下例子
dependencies[] = exampleapi (1.x) test_dependencies[] = autoload (>7.x-1.5)
以上例子中,模块安装Example API主板1,任何次版本号模块(如1.0, 1.1, 1.2-beta4 etc.)
.info文件里的dependencies[]属性还允许选择指定的版本
- = or == 等于 (可选择:默认是等号)
- > 大于
- < 小于
- >= 大等于
- <= 小等于
- != 不等于
版本号大于1.0
dependencies[] = exampleapi (>1.0)
版本号要求7.x兼容,并且大于1.5
dependencies[] = exampleapi (>7.x-1.5)
另外还支持多版本依赖,用逗号分开
dependencies[] = exampleapi (>1.0, <=3.2, !=3.0)
还能用系统(system)作为模块名,来指定最小Drupal核心版本。本模块最少运行在Drupal 7.53。
dependencies[] = system (>=7.53)
package (可选)
为模块归类,方便查找。如果不写,就会在 Others。注意这里大小写敏感,Views和views是两类。这里不应该用标点符号。
package = Views
php (可选)
指定模板运行最低的PHP版本
php = 5.3
譬如这里就表示模块不能运行在5.3以前的版本。如果不写,就是用和Drupal相同的版本。有时用新版本PHP的一些特性,当模块需要用比核心要求更新的版本,这里才会注释。
version (不鼓励)
如果模块发布到drupal.org,他们会给你一个版本号字符串。如果你只是自己写的,可以写自己想要的版本号,或者不写。
因为这里我是自己写的,没有给版本号,所以是空的。
configure (可选)
显示模块配置页面的的路径。当模块打开后,“配置(Configurre)”和“权限(Permission)”链接就会显示出来。这个链接就连到模块配置的概述(Overview)页面
configure = admin/config/content/example
点 Confirgure,就会跳转到 admin/config/content/example,配置这个模块。
required (可选)
如果模块绝对需要并不能被关闭,就要写:
required = TRUE这些模块在Drupal安装时候就被自动打开(enabled)。这一般用Drupal的核心模块(譬如:节点(Node)、用户(User)等)
hidden (可选)
如果模块或者主题不可看见就设置
hidden = TRUE
一般这是用在测试模块
project (不鼓励,仅适合封装时使用)
模块维护人员不能使用这个属性。当代码上传drupal.org,他们会自动在这里分配字符串。这设置主要为了配合升级状态(Update status)模块,以致于能监控版本升级,提醒管理员有新版本可以使用。
project status url (仅用在不提交到drupal.org上的订制模块)
允许模块维护人员定义一个URL,让升级状态(Update status)模块来检查他们模块是否需要升级。如果模块没有在drupal.org上发布,应该在这里定义参数。URL应该指向一个XML格式,这个XML要放在 http://my.domain.com/projects/{project}/{core} ,这个例子里,
project status url = http://my.domain.com/projects
参考并做了修改: https://www.drupal.org/node/542202