2016-08-04 8 views
1

よりわかりやすいタイトルは考えられませんでした。Laravel 5 - ルートタイプ

ここにジレンマがあります。誰かがこれに対して良いアプローチをしているのか、私が何か明白なことを見落としてしまったのかどうか疑問に思っていますか?

ピクチャーこれら二つの経路:

/category/product 
/parent/child 

ショップでの製品との最初のルートを扱っています。 2番目のルートは、CMSの通常のページを処理します。

アプリケーションでこれらの2つのルートを区別するにはどうすればよいですか?可能であれば、各ルート(すなわち、/ shop/category/product、/ page/parent/child)の前に何かを追加したくありません。

アイデア?あなたのroutes.phpファイルの中

答えて

1

は、このコードに

Route::get('/{action?}/{name?}',[ 
     'uses' =>'[email protected]', 
     'as' =>'niceaction' 
    ]); 

を入れ、その後、コントローラフォルダに移動し、ファイルNiceActionControllerを作成します。

<?php 
namespace App\Http\Controllers; 
use \Illuminate\Http\Request; 
class NiceActionController extends Controller 
{ 
    public function getNiceAction($action,$name=null) 
    { 
     return view('actions.'.$action , ['name' => $name]) ; 
    } 
} 
+0

で続きを読みます。 By/category/product - categoryは実際のカテゴリ名で、productは実際の製品名です。 それは意味がありますか? – user3767977

+0

アクションテキストで商品を変更するだけで –

0

はただルートを積み重ねることができるようになります。

Route::get('category/{product}', '[email protected]'); 
Route::get('{parent}/{child}', '[email protected]'); 
0

ルートをグループ化できます。

Route::group(['prefix' => 'parent'], function() { 
Route::get('child', '[email protected]'); 
Route::get('anotherchild', '[email protected]'); 
}); 

これは、あなたのルート/parent/child/parent/anotherchildを与えます。

より多くのオプションがありますが、あなたは私が必要なものではありませんこれは、ここにURL内のアクションを供給する必要がdocumentation