2013-09-28 90 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