2011-04-23 69 views
1

我在每個控制器中都有變量,並且我一直將它們傳遞給每個函數使用$ this->設置的視圖。它是重複的。我如何簡單地引用呈現視圖的對象並引用其變量?cakephp如何引用對象調用/渲染視圖

+0

我不明白這個問題,你能提供一些小代碼嗎? – 2011-04-23 13:56:01

回答

3

使用您的beforeFilter或beforeRender。所以,如果你有相同的一組,你需要爲每個功能設置變量,只需添加到您的控制器的頂部:

function beforeRender() { 
    parent::beforeRender(); 
    $this->set('var_name1', $this->my_var1); 
    $this->set('var_name2', $this->my_var2); 
} 

UPDATE:謝謝你帶,要我注意。你是對的。我向變量添加了$this

+0

請注意'$ my_var'是beforeRender本地的。所以你不得不把它設置在這個函數中,或者將它設置在其他地方作爲該控制器的屬性,即'$ this-> my_var' – 2011-04-23 14:02:08

+0

謝謝。你能解釋這行嗎:'parent :: beforeRender();'包括雙冒號? – thf 2011-04-23 14:05:25

+0

這是爲了防止在app_controller.php文件中有beforeRender。它將包括這一點。如果沒有parent :: beforeRender,則重寫該方法。 – 2011-04-23 14:14:18