Laravel5路由,根据路由选择刀片模板不同

时间:2018-02-18 08:31:25

标签: laravel-5 blade laravel-routing laravel-blade

我试图实现以下目标:

根据地址后面的路由,它将在屏幕上以不同方式显示。

if / register - >

  1. http://laravel.dev/register
    • 资源/视图/布局/ master.blade.php
  2. <nav class='navbar navbar-toggleable-md bg-info fixed-top navbar-info' color-on-scroll='500'>

    否则如果/ home - &gt;

    1. http://laravel.dev/home
      • 资源/视图/布局/ master.blade.php
    2. <nav class='navbar navbar-toggleable-md bg-info fixed-top navbar-transparent' color-on-scroll='500'>

      提前致谢。

2 个答案:

答案 0 :(得分:0)

一个想法是使用某种路由参数作为标志来告诉您的页面&#34; context&#34;它正在装载。

例如,根据路由的设置方式,您可以在路由功能或控制器功能中添加代码,如:

$url = parse_url($_SERVER['REQUEST_URI']);
$path = $url['path'];
$isRegisterPage = in_array("register", explode("/", $path));

然后,您可以检查刀片模板中的变量&#34; $ isRegisterPage&#34;确定要加载哪个NavBar。

答案 1 :(得分:0)

试试这个:

    @if(request()->is('register'))
        <nav class='navbar navbar-toggleable-md bg-info fixed-top navbar-info' color-on-scroll='500'>
    @elseif(request()->is('home'))
        <nav class='navbar navbar-toggleable-md bg-info fixed-top navbar-transparent' color-on-scroll='500'>
    @endif