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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3RldmVuaHpoYW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

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



版权声明:本文博客原创文章,博客,未经同意,不得转载。

Drupal 7 模 .info 文件描述的更多相关文章

  1. 文件描述符、文件表项指针、inode节点的关系

    内核使用3种数据结构表示打开的文件,他们之间的关系决定了在文件共享方面一个进程对另一个进程的影响. (1) 每个进程在进程表中都有一个纪录项,纪录项中包含一张打开文件描述符表,每个文件描述符各占一项, ...

  2. Linux内核笔记--深入理解文件描述符

    内核版本:linux-2.6.11 文件描述符(file descriptor)在Linux编程里随处可见,设备读写.网络通信.进程通信,fd可谓是关键中的关键. 深入理解可以增加我们使用它的信心. ...

  3. Linux 利用进程打开的文件描述符(/proc)恢复被误删文件

    Linux 利用进程打开的文件描述符(/proc)恢复被误删文件 在 windows 上删除文件时,如果文件还在使用中,会提示一个错误:但是在 linux 上删除文件时,无论文件是否在使用中,甚至是还 ...

  4. Linux 文件描述符和重定向

    200 ? "200px" : this.width)!important;} --> 介绍 文件描述符是与文件输入.输出相关联的整数,在编写脚本时会经常使用标准的文件描述符 ...

  5. linux专题一之文件描述符、重定向、管道符、tee命令

    本节讨论一下几个问题: 1. 文件描述符. 2. 重定向. 3. 管道符 4. tee的用法. 1. 文件描述符. 在linux系统中一切皆文件.文件夹和设备都是文件.如何用来区别不同的文件呢?这里的 ...

  6. CentOS最大文件描述符限制更改

    系统级的限制:/proc/sys/fs/file-max中设定了系统最大能打开的文件数. 查看该值可以用如下方式: [root@#panda ~]# cat /proc/sys/fs/file-max ...

  7. linux文件描述符open file descriptors与open files的区别

    一个文件被打开,也可能没有文件描述符,比如current working diretories,memory mapped files and executable text files ;losf可 ...

  8. linux文件描述符数量的坑

    ulimit -n  查看 单进程或线程,可打开的最大文件描述符数 通过ulimit -n 10240 设置文件描述符数: (当前shell生效,这真是个坑啊) 永久生效:(需要重启系统,也是个坑,好 ...

  9. Shell重定向文件描述符

    #!/bin/bash      最近在看shell,各种困惑,不过解决困惑的感觉还是很不错的.废话少说,linux中使用文件描述符来标识每个文件对象.文件描述符为一个非负整数,可以唯一标识会话中打开 ...

随机推荐

  1. PHP JSON_ENCODE 不转义中文汉字的方法

    ios程序中不识别读取到的JSON数据中 \u开头的数据. PHP 生成JSON的时候,必须将汉字不转义为 \u开头的UNICODE数据. 网上非常多,可是事实上都是错误的,正确的方法是在json_e ...

  2. Swift - 类扩展(extension)

    Swift语言的类扩展是一个强大的工具,我们可以通过类扩展完成如下事情: 1,给已有的类添加计算属性和计算静态属性 2,定义新的实例方法和类方法 3,提供新的构造器 4,定义下标脚本 5,是一个已有的 ...

  3. QT实现不规则窗体

    看到网上有很多不规则窗体的实现,效果很酷.于是使用QT也实现了一个,QT的不规则窗体实现非常简单,只需要设置一个mask(遮掩)图片,这个图片的格式可以使用png或bmp格式,我使用了png格式,默认 ...

  4. Java经典面试题及详解

    Java基础方面:   1.作用域public,private,protected,以及不写时的区别 答:区别如下:  作用域           当前类       同一package       ...

  5. 136 - Ugly Numbers

     Ugly Numbers  Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence 1, 2, 3 ...

  6. Delphi Windows API判断文件共享锁定状态(使用OpenFile来判断)

    一.概述 锁是操作系统为实现数据共享而提供的一种安全机制,它使得不同的应用程序,不同的计算机之间可以安全有效地共享和交换数据.要保证安全有效地操作共享数据,必须在相应的操作前判断锁的类型,然后才能确定 ...

  7. Load and Unload

    一.前言 在前一段时间,我遭遇了一个现象诡异的Bug,最后原因归结为在DllMain里错误地调用了FreeLibrary(在本文最后对此Bug有详细的解释). MSDN里关于禁止在DllMain里调用 ...

  8. BZOJ 3218(a + b Problem-二分图套值域线段树)

    出这题的人是怎么想出来的…… 言归正传,这题是二分图套值域线段树. 首先经过 @Vfleaking的神奇建图后,把图拆成二分图, 不妨利用有向图最小割的性质建图(以前我一直以为最小割和边的方向无关,可 ...

  9. 介绍一个C++奇巧淫技

    你能实现这样一个函数吗:   MyType type;   HisType htype;   serialize_3(11, type, htype);   serialize_4(type, hty ...

  10. 事件总线帧---Otto

    我们如果这样一种业务场景.如今在做一款及时聊天应用,我们在聊天页面进行收发信息.同一时候也要实时更新前一页面的聊天记录,这时我们该怎样去实现?说说我曾经的实现策略.我使用的是广播接收器BroadCas ...