2012-11-14 151 views
0

自從我開始使用drupal後,一直困擾着我的是PHP引擎如何知道您在模板文件中引用了哪個$ node/$ classes/$屬性。這些變量永遠不會被聲明爲全局變量,那麼PHP引擎如何找出您所指的是什麼「$ node」?Drupal模板變量

回答

1

http://drupal.org/node/223430其中規定

預處理的主要作用是建立變量放置 模板(.tpl.php)文件中。從Drupal 7開始,它們適用於 模板和函數,而在Drupal 6預處理函數中,只有 適用於作爲模板實現的主題鉤子。平原主題功能 不與預處理器交互。

請看template_preprocess*API中提到的template_process。這些函數向您顯示設置您可以在節點模板中訪問的各種變量的代碼。

以類似的方式,你也可以添加自己的預處理代碼主題功能添加到現有的變量在tpl.php文件像這樣:

/** 
* Implements hook_preprocess_HOOK(). 
*/ 
function MY_MODULE_preprocess_node(&$variables) { 
    $variables['hello'] = 'Look at me now!'; 
} 

在此之後,你可以參考$hello在您的node.tpl.php文件中。

+0

明白了。感謝您花時間解釋。 – africanherbsman

0

這些變量是由Drupal的模板引擎設置的。