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. Python Errors and Exceptions

    1. python中的try{}catch{} 2. raise exception 3. try...except ... else.. 4. finally块 python中的异常处理的keywo ...

  2. web服务器配置方法

    Web服务器概述 Web服务器又称为WWW服务器,它是放置一般网站的服务器.一台Web服务器上可以建立多个网站,各网站的拥有者只需要把做好的网页和相关文件放置在Web服务器的网站中,其它用户就可以用浏 ...

  3. Delphi接口的底层实现(接口在内存中仍然有其布局,它依附在对象的内存空间中,有汇编解释)——接口的内存结构图,简单清楚,深刻 good

    引言 接口是面向对象程序语言中一个很重要的元素,它被描述为一组服务的集合,对于客户端来说,我们关心的只是提供的服务,而不必关心服务是如何实现的:对于服务端的类来说,如果它想实现某种服务,实现与该服务相 ...

  4. 一个网友写的栈,问为啥不能迭代。具有__iter__ 和next方法的对象叫迭代器-七七巴巴黄页网

    一个网友写的栈,问为啥不能迭代.具有__iter__ 和next方法的对象叫迭代器-七七巴巴黄页网 一个网友写的栈,问为啥不能迭代.具有__iter__ 和next方法的对象叫迭代器 python视频 ...

  5. android: WheelView组件(滑轮组件)的应用!

    android前段组件中, 填表单,选择条目 的样式有很多, WheelView滚动组件为其中一种,如下图所示:                                          前两 ...

  6. wikioi 1014 装箱问题

    来源:http://wikioi.com/problem/1014/ 1014 装箱问题 29人推荐 收藏 发题解 提交代码 报错 题目描写叙述 输入描写叙述 输出描写叙述 例子输入 例子输出 提示 ...

  7. Caused by: java.lang.ClassNotFoundException: org.aopalliance.intercept.MethodInterceptor

    org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Fai ...

  8. 让自己的软件实现拖拽打开文件(使用WM_DROPFILES消息和DragQueryFile函数)

    //声明 protected procedure WMDROPFILES(var Msg : TMessage); message WM_DROPFILES; //实现 procedure TForm ...

  9. ORACLE—005:创建JOB(二)

    假设须要创建带參数的job,怎样创建呢. 我们直接将參数声明.并赋值.然后传给job调用的存储过程就可以. 比如.存储过程名为Pro_Test_JOB,參数共同拥有一个.是VARCHAR2类型. 创建 ...

  10. Android中关于JNI 的学习(六)JNI中注冊方法的实现

    在前面的样例中,我们会发现,当在Java类中定义一个方法的时候,例如以下: public class ParamTransferTest { public static int testval = 1 ...