2013-09-28 87 views
1

我正在使用名爲WardrobeCMS(http://wardrobecms.com)的Laravel CMS,並試圖修改路由以使用我現有的cms路由,以便我可以移植。Laravel 4路由:修改路由中的參數值

WardrobeCMS用途:

/post/{slug} 

,我想保持我現有的:

/{year}/{month}/{slug} 

如果我可以在我的三部分蛞蝓合併成一個單一的{塞},我能避免壓倒一切很多核心功能,所以這真的是我認爲最好的方向

我想:

Route::get('{year}/{month}/{slug}', array(
    'uses' => $wardrobeControllers.'[email protected]', 
    'as' => 'wardrobe.posts.show', 
    function($year, $month, $slug) 
    { 
     return $slug = implode('/', array($year, $month, $slug)); 
    } 
    )  
); 

但它沒有影響;我環顧四周尋找類似的操作,但什麼都沒發現。不知道這只是一個語法錯誤,或者我完全偏離了我想要做的

想知道如果過濾器可能不是答案,但還沒有做任何工作。

謝謝!

+0

什麼不工作,它只會返回你'字符串',不是嗎?你在這個功能中想做什麼? –

回答

0

我認爲你可以做這樣的事情,只是創建您準備params另一個請求像

Route::get('{year}/{month}/{slug}', array(
    'uses' => $wardrobeControllers.'[email protected]', 
    'as' => 'wardrobe.posts.show', 
    function($year, $month, $slug) { 
     // build the params 
     $args = = implode('/', array($year, $month, $slug)); 

     // create a new request and dispatch it 
     $request = Request::create('your-route', 'GET', $args); 
     return Route::dispatch($request)->getContent(); 
    } 
)); 

但你要創建一個類似的路線一樣,所以它會被推出的目標,但這只是一個意見,因爲現在還不確定你正在嘗試做什麼,只是從猜測中。

+0

一直在嘗試類似的東西:您需要將使用&關閉或功能甚至沒有呼叫。之後,無法獲取Request :: create correct的語法 - 而不是在API文檔中 – jmadsen