1
App Controller的代碼用於導航欄的功能。cakephp:與其他控制器的AppController衝突
AppController的
public function beforeFilter() {
parent::beforeFilter();
$this->RememberMe->restoreLoginFromCookie();
$this->set('server_root', Router::url('/'));
$this->loadModel('Recipe');
$this->set('recipes', $this->Recipe->find('all'));
一切正常,每個頁面顯示的導航欄和所有頁面功能正常 直到我添加了一個下拉菜單選擇需要與「配方」值填充每一個導航欄。
KitchenController
這是我用來填充下拉選擇
$this->set('recipes', $this->Recipe->find('all',array('fields'=>array('Recipe.description'))));
它填補了下拉列表中的代碼,雖然不完全是我想要得到,但近一點的值,但它也影響導航欄導致一些錯誤,如未定義的變量,這是以前沒有。它以某種方式影響也使用模型「配方」的導航欄。
問題1:我如何可以隔離下拉選擇,這樣就不會影響導航欄控制器問題 問題2:我怎樣才能調用特定領域中的數組,因爲目前這個代碼
$this->set('recipes', $this->Recipe->find('all',array('fields'=>array('Recipe.description'))));
?
返回id,日期和描述,我只需要描述。
任何幫助表示讚賞感謝
有沒有需要'server_root'變量 - 你可以隨時隨地訪問路由器。在beforeFilter中加載模型並設置變量是一個_bad的想法;如果所有頁面都需要將它放入之前的_Render_函數中,那麼即使請求被重定向或者沒有視圖,也不會找到食譜。 – AD7six