我正在构建类似于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
答案 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