动态导航laravel 5.3

时间:2016-12-11 22:01:28

标签: php laravel laravel-5

我正在构建类似于wordpress的导航,基本上我要做的是动态添加导航。我在header.blade.php中的代码看起来像:

@foreach($nav as $navs)

<li><a>$navs->title</a></li>

@endforeach

我希望链接显示在我的所有页面中,但我不确定如何在路线中设置它。请任何建议真的很有帮助。 我还是Laravel的新手。

很抱歉没有正确解释,我真正想要的是:

添加导航链接和详细信息后,它应显示类似

的内容

本地主机/约-我们

localhost / contact-us

到目前为止,我已经掌握了db中的所有细节和slu ..

例如控制器获取所有页面

class NavController extends Controller
  {
       public function nav()
         {
            $navs=Page::all();
            return view('themes.first.header')->withNavs($navs);    
         }
      }

例如header.blade看起来像这样

     @foreach($navs as $nav)
      <li><a href="">$nav->title</a></a></li>
     @endforeach

标题包含在master.blade的每个页面上,所以我的问题是

例如我去localhost / blog

链接不会显示,但如果我添加这样的路线

   Route::get('nav','NavController@nav');

然后转到/ nav然后它工作正常。但我想要这样的东西

localhost / about-us

以及每个页面上显示的链接。如果不是让我知道,我希望我现在已经正确解释了。

请忽略href =“”的建议代码,因为我已经在其他其他页面中完成了所有这些操作,所以我知道如何处理href的代码,我遇到问题的部分只是导航链接未显示在所有页面上。

最后通过使用此线程的建议使导航工作 Proper way to make a dynamic navigation in Laravel 5

2 个答案:

答案 0 :(得分:0)

刀片语法错误。

Could not find method runtime() for arguments [file collection] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

顺便说一句,您更有可能想要@foreach($nav as $navs) <li><a>{{$navs->title}}</a></li> @endforeach $navs as $nav

如果路由部分有任何问题,请共享您的代码。除非,我只能帮助解决这个问题。

答案 1 :(得分:0)

在您的路线中(示例)

Route::get('page/{title}', 'PageController@details');

在PageController中

public function details($title)
{
    $page = Page::where('title', $title)->firstOrFail();

    return view('your.page')->with(['page' => $page]);
}

在header.blade.php中

@foreach($navs as $nav)

    <li><a href="{{ route('/page/' . $nav->title) }}">{{ $nav->title }}</a></li>

@endforeach