在Laravel中的Route中动态渲染文件夹视图

时间:2017-03-14 05:50:18

标签: laravel

我们说我有一个像这样的文件夹

  resources/views
       paths
          path1
             index.blade.php
             registration.blade.php
          path2
             index.blade.php
             registration.blade.php

我的路线

   Route::get('/paths/{$path}, function(){
       return view('paths/{$path}/index);
   });

如果我这样做,这不起作用

 localhost.com/paths/path1

任何想法如何使它工作?在控制器中执行此操作是更优选的。

好的,我已经在train_fox回答之前解决了这个问题。我更喜欢控制器

public function index(Request $request, $path)
{
 $paths = [
        'CD1',
        'CD2',
        'CD3',
    ];
    foreach($paths as $path){
        if($path === request()->segment()){
            return $this->paths = $path;
        }
    }
   return view('paths/'.$this->path.'/index');
}

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您的路线应该是:

 Route::get('/paths/{path}', function($path){

   return view("paths/{$path}/index");
 });

希望它能满足你的目的。

答案 1 :(得分:0)

您忘记将变量传递给闭包:

Route::get('/paths/{$path}, function($path){
   return view('paths/{$path}/index);
});
相关问题