Создание методов в ваших моделях новостей, событий и ссылок для получения последних 5 записей. Затем в вашем контроллере либо включите модели в свойство Controller :: used, либо в действии используйте ClassRegistry :: init () для получения доступа к модели, например,
function my_action() {
$news = ClassRegistry::init('News')->getRecent();
$events = ClassRegistry::init('Event')->getRecent();
$links = ClassRegistry::init('Link')->getRecent();
$this->set(compact('news', 'events', 'links'));
}
Затем вы можете вызывать эти методы модели из любого действия контроллера, сохраняя ваше приложение СУХИМЫМ.
В вашем представлении my_action.ctp и многих других представлениях просто визуализируйте элементы, например
// my_action.ctp
<?php
echo $this->element('recent_news');
echo $this->element('recent_events');
echo $this->element('recent_links');
?>
Ваши элементы могут затем перебирать переменную $ news (или любую другую), отображая элементы со ссылками на действия 'view' в соответствующих контроллерах.
То, что контроллер соответствует модели, не означает, что вы не можете использовать в ней другие модели.