【问题标题】:Dynamic nav laravel 5.3动态导航 laravel 5.3
【发布时间】:2017-04-26 18:34:40
【问题描述】:

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

@foreach($nav as $navs)

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

@endforeach

我希望这些链接显示在我的所有页面中,但我不确定如何在路线中进行设置。请任何建议都会非常有帮助。 我还是 Laravel 的新手。

抱歉没有解释清楚,我真正想要的是:

添加导航链接和详细信息后,它应该会显示类似这样的内容

本地主机/关于我们

本地主机/联系我们

到目前为止,我已经获得了数据库中的所有详细信息和 slug。

例如控制器获取所有页面

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 的每个页面都包含标题,所以我的问题是

例如我去本地主机/博客

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

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

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

本地主机/关于我们

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

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

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

【问题讨论】:

  • 你应该澄清你想要做什么以及是什么导致你出现问题,现在很难理解。
  • 你好 Antoine,我已经添加了更多细节,让我知道这是否有意义

标签: php laravel laravel-5


【解决方案1】:

刀片语法错误。

@foreach($nav as $navs)

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

@endforeach

顺便说一句,您更可能想要$navs as $nav$nav-&gt;title

如果您对路由部分有任何问题,请分享您的代码。除非,我只能帮忙。

【讨论】:

    【解决方案2】:

    在您的路线中(示例)

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

    在页面控制器中

    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
    

    【讨论】:

      猜你喜欢
      • 2017-03-31
      • 1970-01-01
      • 2017-05-13
      • 1970-01-01
      • 2021-01-01
      • 2013-01-22
      • 2014-01-20
      • 2017-05-17
      • 2017-05-10
      相关资源
      最近更新 更多