我正在Laravel 5中创建一个应用程序,其中一个页脚将会有很多与部分相关的链接。我的想法是,当我点击一个部分的页脚链接时,它会将我重定向到一个模板页面,左边是该页脚中的所有链接,右边是链接的内容我点击。
例如,在这张图片上,我点击了页脚中的链接A,它显示了左侧第1节(带有链接A下划线)的所有链接,右侧显示了链接A的内容。
基本上我想知道是否有一种很好的方法可以在不创建50个不同模板的情况下(页脚的每个链接一个)。
答案 0 :(得分:3)
您只需使用3个模板即可:
main.blade.php:
<html>
<body>
@include('sidebar')
..
@yield('content')
..
@include('footer')
</body>
</html>
sidebar.blade.php
<div class="sidebar">
@foreach($sidebar_links as $link)
// print $link
@endforeach
</div>
footer.blade.php
<div class="footer">
<a href="{{ route('getMenu', 'section A') }}">Section A</a>
<a href="{{ route('getMenu', 'section B') }}">Section B</a>
</div>
控制器操作:
public function getMenu($section) {
$sidebar_links = // Get sidebar links of the section which is clicked from the bottom links
return ('main', compact('sidebar_links'))
}
注意:我没有对此进行测试,但它应该为您提供基本视图。
答案 1 :(得分:0)
您可以使用Request :: segment()来查找活动链接。例如,链接A的链接= / link / a然后我们可以说Request :: segment(2)== a。您可以使用它来显示活动链接。
<a href="/link/a" class="@if(Request::segment(2) == 'a') active @endif">Link A</a>
<a href="/link/b" class="@if(Request::segment(2) == 'b') active @endif">Link B</a>
<a href="/link/c" class="@if(Request::segment(2) == 'c') active @endif">Link C</a>