これは Laravel での私の最初のプロジェクトです。
目標は、CMS を作成することです。すべてのページには独自の「スラッグ」があるため、ページThis is a test
に という名前を付けると、そのスラッグは になりますthis-is-a-test
。にアクセスしてそのページを表示できるようにしますexample.com/this-is-a-test
。
そのためには、次のようなことをしなければならないと思います。
Route::any('(:any)', 'view@index');
そして、index メソッドで View というコントローラーを作成します。大丈夫ですよね?
問題は管理領域の作成です。領域内にいくつかのページを作成します。いくつかの例は、ダッシュボード、ページ、設定、およびツールです。これらはすべて管理画面のサブページなので、ネストされたコントローラーにするのが適切だと思いましたよね? 唯一の問題は、にアクセスしたときに/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
、空白のページが表示されadmin/blah
たりしblabla
ても、404 ではありません。何か不足していますか?