我在每個控制器中都有變量,並且我一直將它們傳遞給每個函數使用$ this->設置的視圖。它是重複的。我如何簡單地引用呈現視圖的對象並引用其變量?cakephp如何引用對象調用/渲染視圖
回答
使用您的beforeFilter或beforeRender。所以,如果你有相同的一組,你需要爲每個功能設置變量,只需添加到您的控制器的頂部:
function beforeRender() {
parent::beforeRender();
$this->set('var_name1', $this->my_var1);
$this->set('var_name2', $this->my_var2);
}
UPDATE:謝謝你帶,要我注意。你是對的。我向變量添加了$this
。
請注意'$ my_var'是beforeRender本地的。所以你不得不把它設置在這個函數中,或者將它設置在其他地方作爲該控制器的屬性,即'$ this-> my_var' – 2011-04-23 14:02:08
謝謝。你能解釋這行嗎:'parent :: beforeRender();'包括雙冒號? – thf 2011-04-23 14:05:25
這是爲了防止在app_controller.php文件中有beforeRender。它將包括這一點。如果沒有parent :: beforeRender,則重寫該方法。 – 2011-04-23 14:14:18
- 1. CakePHP調用不同類的視圖來渲染主類視圖
- 2. CakePhp - 渲染視圖+ afterFilter
- 3. Codeigniter渲染視圖的調用方法
- 4. 如何渲染對象的使用jQuery
- 5. JsRender如何渲染對象
- 6. 使用jquery渲染圖像(流對象)
- 7. Node.js如何渲染視圖?
- 8. 如何渲染視圖
- 9. 如何首次使用骨幹渲染索引視圖?
- 10. 渲染視圖
- 11. 當渲染局部視圖時,對象引用未設置爲實例
- 12. 如何在快速渲染視圖中調用節點模塊?
- 13. 如何在視圖渲染完成後調用方法3
- 14. 如何從動作內部的視圖上調用渲染?
- 15. CakePHP 1.3如何在顯示內容之前渲染視圖
- 16. 如何渲染CakePHP Shell中的視圖/模板?
- 17. 從elixir的視圖中調用渲染部分視圖
- 18. 渲染視圖,然後調用現有的AJAX視圖
- 19. cakephp ajax渲染
- 20. CakePHP - 使用元素渲染視圖vs ajax
- 21. 如何渲染嵌套視圖(相對視圖)
- 22. 如何使用條件渲染視圖中的視圖?
- 23. 渲染軌對象
- 24. 對象不渲染
- 25. 通過引導模式渲染視圖
- 26. 視圖渲染4.2
- 27. Spine.js渲染視圖
- 28. ZF2視圖渲染
- 29. 渲染Jbuilder視圖
- 30. 渲染在視圖
我不明白這個問題,你能提供一些小代碼嗎? – 2011-04-23 13:56:01