天天看點

Drupal 7 子產品 .info 檔案介紹

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
           
Drupal 7 子產品 .info 檔案介紹

description (推薦)

最好寫一下,用一行簡單說明子產品用途。最多255字元。
description = Provides a really neat widget for your site's sidebar.
           
Drupal 7 子產品 .info 檔案介紹
說明裡可以包括連結,這樣可以很友善讓使用者連結到指定頁面,了解更多子產品的資訊和使用。
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)裡的 .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
           
Drupal 7 子產品 .info 檔案介紹

注:這裡雖然隻用到了子產品 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
           
Drupal 7 子產品 .info 檔案介紹

php (可選)

指定模闆運作最低的PHP版本
php = 5.3
           
譬如這裡就表示子產品不能運作在5.3以前的版本。如果不寫,就是用和Drupal相同的版本。有時用新版本PHP的一些特性,當子產品需要用比核心要求更新的版本,這裡才會注釋。

version (不鼓勵)

如果子產品釋出到drupal.org,他們會給你一個版本号字元串。如果你隻是自己寫的,可以寫自己想要的版本号,或者不寫。
Drupal 7 子產品 .info 檔案介紹
因為這裡我是自己寫的,沒有給版本号,是以是空的。

configure (可選)

顯示子產品配置頁面的的路徑。當子產品激活後,“配置(Configurre)”和“權限(Permission)”連結就會顯示出來。這個連結就連到子產品配置的概述(Overview)頁面
configure = admin/config/content/example
           
Drupal 7 子產品 .info 檔案介紹
點 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



繼續閱讀