У меня есть некоторая логика контроллера:
public function seafood() {
$this->set('title', 'Seafood restaurants in and near Gulf Shores, AL');
$this->paginate['Restaurant']=array(
'limit'=>9,
'order' => 'RAND()',
'conditions'=>array(
'Restaurant.active'=>1,
'Restaurant.seafood'=>'Seafood'
)
);
$data = $this->paginate('Restaurant');
$this->set('seafood', $data);
}
Это повторяется, как 13 раз, с 13 различными страницами просмотра, помеченными как "морепродукты, набережная, стейк-хаус" и т. Д. Представление точно такое же, всеТо же самое на самом деле, за исключением того, что контроллер должен найти по конкретному типу ресторана.Может ли кто-нибудь объяснить мне, как я могу просто сделать один файл просмотра, который будет отображаться по адресу www.site.com/restaurants/seafood?
По правде говоря, все мои страницы результатов представляют собой некоторые вариации этого,Я приказываю торт разбить (и обычно содержать) данные модели, а затем вставить их в представление, которое почти идентично (с пиктограммой или двумя отличиями) всем остальным страницам.Я создаю сайт, который является одним из тех «вещей, которые можно увидеть и увидеть в x пляжном городке», поэтому у меня есть рестораны, места для ночлега, магазины, ночные клубы, поля для гольфа и т. Д. (Это везде).
Мой босс дал мне этот гигантский веб-сайт для создания, и я действительно не очень хорошо знаю логику программирования.Я хотел бы придерживаться концепции «СУХОЙ», чтобы действительно научиться этому материалу.
ОБНОВЛЕНИЕ
Хорошо, я убедился, что мои маршруты содержали это вfile:
Router::connect('/restaurants/:action', array('controller'=>'restaurants'));
Я сохранил свой файл seafood.ctp, затем вынул свою функцию seafood () и вставил в нее:
public function restaurants($restaurantType) {
$this->set('title', $restaurantType.' restaurants in and near Gulf Shores, AL');
$this->paginate['Restaurant']=array(
'limit'=>9,
'order' => 'RAND()',
'conditions'=>array(
'Restaurant.active'=>1,
'Restaurant.seafood'=>$restaurantType
)
);
$data = $this->paginate('Restaurant');
$this->set($restaurantType, $data);
}
Когда я получил доступ к странице на www.site.com/restaurants/seafood торт сказал мне, что мой контроллер пропустил метод морепродуктов ().Что я пропустил?