仅在首页上

时间:2018-12-28 20:18:15

标签: php laravel laravel-5.2 laravel-blade

我是Laravel的新用户,来自手工艺cms。在我的主页上,我希望导航是透明的并且在所有其他页面上都具有黑色背景。

为此,我在首页标题中添加了一个名为header-home的类。我设法将此类添加到我编写的布局文件中的首页中:

<header {% if craft.request.lastSegment == "" %}class="header-home"   {% endif %}>

我知道我可以为主页创建一个不同的layout.blade.php文件,但是当我想根据用户所在的页面或URL添加类或元素时,还会有其他实例。

预先感谢, 杰米

2 个答案:

答案 0 :(得分:3)

您可以从控制器发送课程:

public function myAction
{
    ...
    return view('home', ['layoutClass'=>'dark']);
}

<header class="{{ isset($layoutClass) ? $layoutClass:'') }} />

或者您可以在视图中匹配路线:

<header class="{{ (\Request::route()->getName() == 'myRoute') ? 'dark':'') }} />

答案 1 :(得分:0)

我发现对我来说最好的方法是在Blade中使用if语句并检查路由,以下是我的操作方法:

@if (\Request::is('/'))  
    <img class="nav-logo" src="img/logo-light.svg">
@else
    <img class="nav-logo" src="img/logo-dark.svg">
@endif