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_widgetname = 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" target="_blank" rel="external nofollow" >Peter Moulding .com</a>.
core (必須)
你模闆适用的Drupal版本。如果是Drupal 7就寫 7.x。注意版本不能指定子版本。寫7.12不正确core = 7.x
stylesheets (可選)
如果你每頁都需要用到CSS檔案,Drupal 7允許你在這裡添加。格式可以參考主題(theme)裡的 .infostylesheets[all][] = node.css
scripts (可選)
如果你每頁都需要用到Javascript檔案,你能在這裡添加。更多資訊,可以參考 Drupal 7中Javascript的管理scripts[] = somescript.js
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[]屬性還允許選擇指定的版本
版本号大于1.0
- = or == 等于 (可選擇:預設是等号)
- > 大于
- < 小于
- >= 大等于
- <= 小等于
- != 不等于
dependencies[] = exampleapi (>1.0)
版本号要求7.x相容,并且大于1.5dependencies[] = 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
參考并做了修改: https://www.drupal.org/node/542202