Это мой первый проект в Laravel, так что играйте со мной хорошо!
Цель - создать CMS. У каждой страницы будет свой собственный «слаг», поэтому, если я назову страницу This is a test
, ее слаг будет this-is-a-test
. Я хочу иметь возможность просматривать эту страницу, перейдя на example.com/this-is-a-test
.
Чтобы сделать это, я предполагаю, что мне придется сделать что-то вроде:
Route::any('(:any)', 'view@index');
И создайте контроллер View с методом index. Все хорошо, верно?
Проблема в создании админки. У меня будет несколько страниц в этой области, несколько примеров: панель инструментов, страницы, настройки и инструменты. Поскольку все это подстраницы в админке, я подумал, что было бы уместно сделать их вложенными контроллерами, верно? Единственная проблема в том, что когда я посещаю /admin
, я хочу напрямую показать панель инструментов (/admin/dashboard
). Я бы предпочел просто вызвать контроллер панели управления вместо перенаправления на /admin/dashboard
с контроллера администратора. Это возможно?
Итак, чтобы проиллюстрировать, что я имею в виду:
example.com/admin -> loads admin.dashboard
example.com/admin/dashboard -> also loads admin.dashboard
Вот все мои маршруты:
Route::get('admin', array('as' => 'admin', 'use' => 'admin.dashboard@index'));
Route::get('admin/dashboard', array('as' => 'admin_dashboard', 'use' =>
Route::any('/', 'view@index'); // Also, should this be below or above the admin routes? This route will show the actual cms pages.'admin.dashboard@index'));
А вот мой контроллер admin_dashboard:
class Admin_Dashboard_Controller extends Base_Controller {
public $restful = true;
public function get_index()
{
return 'in dashboard';
}
}
Контроллер представления просто отображает ссылку на страницу администратора, которая работает. Я просто не могу понять, что не так с маршрутами администратора? Когда я перехожу к /admin
или admin/dashboard
, я просто получаю пустую страницу, а не 404. Если я перехожу к admin/blah
или просто blabla
, я получаю 404, поэтому я знаю, что что-то происходит, просто это происходит неправильно. Я что-то упускаю?