发布于 2014-09-28 03:13:28 | 214 次阅读 | 评论: 0 | 来源: 网友投递
Drupal开源内容管理框架
Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。连续多年荣获全球最佳CMS大奖,是基于PHP语言最著名的WEB应用程序。
本文为大家讲解的是Drupal的主题/模块配置文件(.info)相用方法,Drupal使用.info文件来保存关于主题(theme)和模块(modules)的基本数据(metadata)。感兴趣的同学参考下。
Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。连续多年荣获全球最佳CMS大奖,是基于PHP语言最著名的WEB应用程序。
编码:推荐使用UTF-8,就是不带BOM(Byte Order Mark)。
以下是一个.info的例子
他包括的属性有:
解释一下:
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 (可选)
如果模块绝对需要并不能被关闭,就要写:
这些模块在Drupal安装时候就被自动打开(enabled)。这一般用Drupal的核心模块(譬如:节点(Node)、用户(User)等)
- required = TRUE
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