CakePHP отображать данные с другого контроллера в страницах - PullRequest
0 голосов
/ 16 сентября 2011

Мне нужно отобразить последнюю статью на домашней странице моего приложения. После прочтения множества вопросов о стековом потоке, я попытался импортировать ArticlesController и использовать requestAction безуспешно. Может быть, есть одна загвоздка, которую я упускаю, так как PagesController не использует модель.

Каков наилучший способ сделать это?

////////////// редактировать:

У меня работает requestAction, используя следующий код

home.ctp view:

$lastarticle = $this->requestAction('/Articles/getarticle');

Статьи Контроллер контроллера:

public function getarticle() {
    $lastarticle = $this->Article->find('first', array('order' => array('Article.id DESC')));
    return $lastarticle;
}

Теперь я хотел бы знать, является ли requestAction подходящим способом решения этой проблемы, потому что я прочитал, что это пустая трата ресурсов.

1 Ответ

1 голос
/ 16 сентября 2011

Если ваша домашняя страница просто отображает статьи, почему бы не сделать ваши статьи / проиндексировать домашнюю страницу (это не обязательно должны быть pages / display / home)?Посмотрите на маршрутизацию тортов.

Изменить: Вы можете использовать loadModel или requestAction (опубликуйте свой код для requestAction).В любом случае, вы должны кэшировать его для лучшей производительности http://book.cakephp.org/view/1380/Caching-in-the-Controller

...