我有一個控制器(用於我的主頁),其中有大約5-6個呈現相同視圖(索引)的動作,因爲用戶可以選擇不同的參數針對不同情況的頁面。每個操作處理每種情況。CakePHP - 如何在這種情況下不違反MVC或DRY
現在我需要在我的主頁上顯示最新消息。看起來很簡單...... 所以我添加
$this->set('fetchednews', $this->News->getLatestNews());
到我的索引行動和它的作品,因爲它應該是。
但正如我之前說過的,我對這個頁面有一系列不同的動作和相同的視圖。
因此,如果用戶訪問domain.com,他會看到最新消息,但是如果用戶點擊鏈接,例如
domain.com/mainPageController/sortById/1
,他沒有看到最新的新聞,因爲
action sortById
沒有$這個 - >設置( 'fetchednews',$這個 - >新聞中心 - > getLatestNews());
我應該使用的元素,並在元素使用
$news = $this->News->getLatestNews();
,然後在索引視圖中使用這個元素?或者我需要重複
$this->set('fetchednews', $this->News->getLatestNews());
要添加到我的主頁面控制器的每個動作?
如何正確處理這種情況?
如何使用'beforeFilter',假設所有動作都需要設置'fetchednews'? –
這是一個很好的建議。我現在就試試,謝謝。 – user1327
@MattHuggins謝謝你,這就是我所尋找的。如果你願意,請發表你的建議作爲答案。 – user1327