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. Java调用cmd命令 打开一个站点

    使用Java程序打开一个站点 近期做了个东西使用SWT技术在一个client程序 须要升级时在提示升级 点击窗口上的一个连接 打开下载网页 花费了我非常长时间 用到了把它记录下来  怕是忘记,须要时能 ...

  2. [Android学习笔记]扩展application

    扩展Application对象 每一个应用程序启动之后,都会分配一个linux用户,并且运行在一个独立的进程中.默认情况下,一个应用程序只会运行在一个进程中(可以通过配置android:process ...

  3. html5实现拖拽文件上传

    以下是自学it网--中级班上课笔记 网址:www.zixue.it html文件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict ...

  4. zoj 3870

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5518 题意:n个数,从中选出两个数,问这两个数的异或值大于两个数较大 ...

  5. 分享毕业学生“ERP实施project联赛”总结,是肺腑之言——知识是人的价值的体现,每门课程是有意义的学校纪律

    丁.这是我刚刚完成的实习报告,特别是给你一个.阿信,让你知道的真实想法研究生管,我希望你相信在教育管帮助.---雷管1102 刘弈福 以上是刚刚收到(20140427)生邮件,贻富不是我带的毕业设计学 ...

  6. c++一些语法模板

    函数模板特 template <class T> int compare(T v1,T v2) { if(v1<v2) return -1; else if(v1>v2) re ...

  7. hdu4405(概率dp)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4405 题意:跳棋有0~n个格子,每个格子X可以摇一次色子,色子有六面p(1=<p<=6), ...

  8. SWFUpload简单使用样例 Java版(JSP)

    SWFUpload官方的样例都是PHP的,在这里提供一个Java版的最简单的使用样例,使用JSP页面完毕全部操作. 实现上传,分为三步: 1.JavaScript设置SWFUpload部分(与官方样例 ...

  9. android 防止多次点击,它会导致事件侦听响应于其他接口

    这里有情况: A当点击跳转至B介面,点击B接口结束后,到A界面中 1.此时在B界面中,设置点击事件,点击后结束B v.setOnClickListener(new OnClickListener() ...

  10. String数组必须初始化之后才能赋值

    犯了一个很大的错误: String sample[]=null; sample[]="hello"; samlple[]="world"; 直接就报异常了. 记 ...