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://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



时间: 2024-08-04 09:26:07

Drupal 7 模块 .info 文件介绍的相关文章

DISCUZ论坛各大功能模块入口文件介绍

index.php 首页入口文件,这个文件相信大家都不陌生,小编就不具体介绍了. forum.php 论坛入口文件 portal.php 门户入口文件 group.php 群组入口文件 home.php 家园入口文件 admin.php 系统站点管理入口文件 member.php 用户信息入口文件 下面是涉及到一些应用功能的入口文件: api.php discuz!合作应用入口文件(比如漫游,支付宝,都需要用到这个文件) connect.php QQ互联入口文件,所有涉及到QQ互联的文件都要经过

linux设备驱动程序该添加哪些头文件以及驱动常用头文件介绍(转)

原文链接:http://blog.chinaunix.net/uid-22609852-id-3506475.html 驱动常用头文件介绍 #include <linux/***.h> 是在linux-2.6.29/include/linux下面寻找源文件.#include <asm/***.h> 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件.#include <mach/***.h> 是在linux-2.6.29/arch/ar

Drupal 7 模块开发 建立模块帮助信息(hook_help)

建立模块请参考 <Drupal 7 模块开发 建立> 如果你要支持中文,文件格式必须保存为 UTF-8,NO BOM ------------------------------ hook_help 为用户提供此模块的帮助信息.我们要用自己模块名替换 hook.在这里我们建立一个 my_first_module_help 在 my_first_module.module文件里 function my_first_module_help($path, $arg) { }   参数:   $pat

Drupal 7 模块开发 建立模块 第一个页面(hook_menu)

建立模块请参考 <Drupal 7 模块开发 建立> 如果你要支持中文,文件格式必须保存为 UTF-8,NO BOM ------------------------------ hook_menu 定义菜单项和页面反馈. 我们要用自己模块名替换 hook.在这里我们建立一个 my_first_module_menu() 在 my_first_module.module文件里 <?php function my_first_module_menu() { $items = array()

实战篇一 python常用模块和库介绍

# [email protected] coding: utf-8 [email protected] -- Python 常用模块和库介绍 第一部分:json模块介绍 import json 将一个Python数据结构转换为JSON: dict_ = {1:2, 3:4, "55":"66"} # test json.dumps print type(dict_), dict_ json_str = json.dumps(dict_) print "js

Puppet C/S初探 site.pp文件介绍(十)

Puppet生产中常用的就是C/S架构./etc/puppet/manifests/site.pp文件是puppet站点导航文件,Agent访问Master的一切配置管理工作都有site.pp文件开始,site.pp文件作用是让Master载入并寻找Agent的配置信息.site.pp文件默认在/etc/puppet/manifests/目录中. manifests是puppet的资源清单目录,puppet的所有资源配置文件都以*.pp文件作为扩展名.manifests和site.pp文件的路径

“允许源文件与模块生成文件不同” 解决方法 ,亲测最有效的

今天写代码的时候有一处访问数据库的操作,sql语句报了错,因为少加了一个[,] 调试的时候中断在这个地方,然后发现了问题,就顺手加了上去,再运行的时候发现运行的版本还是那个少了[,]的版本 然后就有了此文 网上查找解决方案大致有三种,我尝试了两种,最后使用了自己的办法解决 网上的解决方案链接在此[http://blog.csdn.net/woaizhoulichao1/article/details/6313173] 最后删除了源文件中bin目录下的文件,整个项目就出了问题,就想到是不是生成不正

python下通过os模块和shutil模块进行文件处理方式

python下通过os模块和shutil模块进行文件处理方式 得到当前工作目录路径:os.getcwd() 获取指定目录下的所有文件和目录名:os.listdir(dir) 删除文件:os.remove(file) 删除多个目录:os.removedirs(r"/home") 检测路径是否为文件:os.path.isfile(path) 检测路径是否为目录:os.path.isdir(path) 判断是否为绝对路径:os.path.isabs(path) 检测路径是否存在:os.pat

Android的学习之路(二)项目中原生文件的使用场景和文件介绍

1.src文件:java源代码存放目录 2.gen 文件:自动生成所有由android开发工具自动生成的文件,目录中最重要的就是R.java文件,这个文件由android开 发工具自动产生的.android开发工具会自动根据你存放res目录的资源,同步更新修稿R.java文件,正因为 R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java.R.java文件在应用中起到了字典的作 用,它包含了各种资源的ID,通过R.java,应用可以很方便的找到对应资源, 2.1R.java