2011-05-06 16 views
5

這可能是基本的,但我剛開始使用Drupal(6 btw)。如何從drupal輸出HTML模塊的好方法

我正在構建一個模塊,並得到了一個應該返回一些HTML的回調。我可以做這樣的事情:

function myModule_myFunction(){ 
    $r = ''; 
    $r .= '<h1>'.$variable.'</h1>'; 
    return $r; 
} 

但我寧願單獨的邏輯和介紹,並把它放進一個單獨的文件,或什麼的。字符串中的HTML很難看!

什麼是'drupal'的方式來做到這一點? 就我而言,它不必使用主題系統

回答

7

theme system是做到這一點的drupal方式。

首先檢查是否還沒有可以使用的主題功能,有許多可以輸出數據的表格,列表,圖像等等。

如果沒有,你需要...

  1. 聲明一個新的主題功能與hook_theme()。用模塊前綴,如yourmodule_something

  2. 創建一個主題功能(或模板),主題功能必須以theme_爲前綴,所以類似於function theme_yourmodule_something()

  3. 確保清除所有緩存,以便Drupal知道您的主題功能。

  4. 呼叫與theme()主題功能:theme('yourmodule_something', $argument1, $argument2)

更多細節可以在鏈接的文檔頁面中找到。

2

hook_theme首先用於爲主題輸出定義模板和函數。

然後,使用這些模板或主題函數輸出任何標記,e.g,呼籲theme_my_content或我-content.tpl.php與一對夫婦的參數,你可以撥打:

theme('my_content', $param1, $param2);