首页 > 代码库 > Drupal 7 模块 .info 文件介绍

Drupal 7 模块 .info 文件介绍

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://www.mamicode.com/"http://petermoulding.com">Peter Moulding .com.>

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



Drupal 7 模块 .info 文件介绍