一個最簡單的Drupal子產品隻需要兩個檔案:info和module。info是個純文字檔案,以鍵值對的形式儲存子產品的基本資訊;module是個php檔案,用于儲存子產品的代碼。
首先我們建立一個helloworld.info檔案,helloworld這個檔案名就是子產品的機讀名。然後打開這個檔案輸入下列代碼:
name = Hello World
description = This is a hello world module
core = 7.x
files[] = helloworld.module
在上面的代碼中,name是子產品的名稱,即人讀名;description是子產品的說明;core聲明了子產品基于哪個drupal核心;files聲明了子產品代碼檔案的位置(本條聲明可以省略,drupal可以自動識别與子產品機讀名同名的module檔案)。
然後我們建立一個helloworld.module檔案,并輸入下列代碼:
<?php
function helloworld_menu() {
$items['helloworld'] = array(
'page callback' => 'helloworld_page',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
function helloworld_page() {
return "Hello world!";
}
在上面的代碼中,helloworld_menu()函數是hook_menu鈎子函數在helloworld子產品中的具體實作,在該函數中使 用$items['helloworld'] 注冊了一個名為helloworld的URL,還為這個URL指定了一個名為helloworld_page的頁面回調函數,并為該回調函數指定了通路權 限和類型。helloworld_page()函數是頁面回調函數的具體實作,傳回了一句經典的字元串“Hello world!”。當使用者通路“網站域名/helloworld”這個URL的時候,helloworld_page()函數将被調用。
最後,我們在Drupal的子產品管理界面中啟用helloworld子產品,并通路“網站域名/helloworld”就可以看到成果了。