Drupal 模組開發 - 應用快取cache
在進行Drupal的模組開發時,當要產出的頁面所需的運算較為繁複時,若對於資料的即時性要求沒有那麼精準時,可以透過快取的方式,一方面可提升訪客開啟頁面的速度體驗,再則可以有效的降低伺服器的負載。
在Drupal要建立快取其實還滿簡單的,有點類似建立cookie一般,只要設定要被快取的資料及到期時間(expired time)即可。
範例程式可以參考這一篇:Example: Cache API。
主要應用的函數如下:
在進行Drupal的模組開發時,當要產出的頁面所需的運算較為繁複時,若對於資料的即時性要求沒有那麼精準時,可以透過快取的方式,一方面可提升訪客開啟頁面的速度體驗,再則可以有效的降低伺服器的負載。
在Drupal要建立快取其實還滿簡單的,有點類似建立cookie一般,只要設定要被快取的資料及到期時間(expired time)即可。
範例程式可以參考這一篇:Example: Cache API。
主要應用的函數如下:
本文參考自這幾篇
Using the theme layer (Drupal 7.x)
Using template (.tpl.php) files in your own module
依照參考資料,雖然實務上我們也可以在template樣版檔中進行如資料庫讀寫的動作,但theme 以及 module 的角色上應該是分工明確的,theme處理的是外觀表現上的架構,而module則主要是提供theme所需要的資料。這樣當網站規模越來越龐大的時候,較能有效率的管理。
那麼兩者透過什麼連結起來呢? 就是hook_theme()這個函數。透過實例來說明怎麼應用。
$role = new stdClass(); //指定角色名稱 $role->name = 'editor'; // 如設定角色順序,則設定weight屬性 // $role->weight = 10; //儲存角色 user_role_save($role);
// 取出角色 $editor_role = user_role_load_by_name('editor'); $editor_rid = $editor_role->rid; // 設定權限資料
前一篇介紹的 node.tpl.php 主要是用來顯示node本身的資料內容,但如果要控制例如logo, header, footer等區域,則是本篇的 page.tpl.php 所負責的領域。
相關變數如下:
一般變數:
網站變數 Site
在drupal 要進行版型開發或者改造時,有一個很重要的東西,那就是樣板檔,通常可以在 版型目錄底下的 templates這個目錄中找到這些樣版檔,
常見的檔名通常有 node.tpl.php, page.tpl.php, block.tpl.php,可以到官網去看詳細說明。本篇主要說明的是樣版中可用的變數
以下針對比較常用到的 node.tpl.php 以及 page.tpl.php 做介紹,