2011-05-19 93 views
15

是什麼在Drupal 7的template.php預處理VS.在Drupal模板

function mythemes_preprocess_html(&$variables) { ... } 

function mythemes_process_html(&$variables) { ... } 

之間的差分處理功能。

何時必須使用預處理函數,何時必須使用處理函數。

謝謝。

回答

12

儘管它們在不同的階段被調用,但它們實際上是相同的東西。預處理函數首先被調用,並進行更改。然後在稍後階段調用過程函數,並允許進行更改以改變在預處理階段引入的任何修改。

有關更多信息,請參閱http://drupal.org/node/223430

+0

這個答案應該被接受。感謝您的鏈接 – 2013-02-03 21:38:01

1

更確切地說,從Drupal的API文檔:

如果實現是一個模板文件,模板文件被調用之前的幾個函數被調用,修改$變量數組。它們分爲「預處理」階段和「處理」階段,並按以下順序執行(如果存在的話)(請注意,在以下列表中,HOOK表示主題鉤子名稱,MODULE表示模塊名稱,THEME表示主題名稱,和發動機指示主題引擎名):(來源:http://api.drupal.org/api/drupal/includes!theme.inc/function/theme/7

如果你按照上面的鏈接,它會列出,從而,整個主題()的進展,從處理功能預處理模板文件本身的功能。

0

過程的階段做自己想做的影響,這有兩種選擇,其中:

  1. 預處理功能:它先運行。
  2. 處理函數:在所有預處理函數執行完畢後運行 。