2016-02-24 2 views
0

я есть родительский расположение в ресурсах \ вид \ раскладок \ app.blade.phpLaravel 5.2 обнаруживает определенный вид/контроллер в лезвии?

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <title>Laravel</title> 
    <!-- JavaScripts --> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
    {{-- <script src="{{ elixir('js/app.js') }}"></script> --}} 
    <!-- Fonts --> 
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css" rel='stylesheet' type='text/css'> 
    <link href="https://fonts.googleapis.com/css?family=Lato:100,300,400,700" rel='stylesheet' type='text/css'> 

    <!-- Styles --> 
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"> 
    {{-- <link href="{{ elixir('css/app.css') }}" rel="stylesheet"> --}} 

    <style> 
     body { 
      font-family: 'Lato'; 
     } 

     .fa-btn { 
      margin-right: 6px; 
     } 
    </style> 
</head> 
<body id="app-layout"> 
    <nav class="navbar navbar-default"> 
     <div class="container"> 
      <div class="navbar-header"> 

       <!-- Collapsed Hamburger --> 
       <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#app-navbar-collapse"> 
        <span class="sr-only">Toggle Navigation</span> 
        <span class="icon-bar"></span> 
        <span class="icon-bar"></span> 
        <span class="icon-bar"></span> 
       </button> 

       <!-- Branding Image --> 
       <a class="navbar-brand" href="{{ url('/') }}"> 
        Laravel 
       </a> 
      </div> 

      <div class="collapse navbar-collapse" id="app-navbar-collapse"> 
       <!-- Left Side Of Navbar --> 
       <ul class="nav navbar-nav"> 
        <li><a href="{{ url('/home') }}">Home</a></li> 
        <li><a href="{{ url('/addthreadhtml') }}">Add thread</a></li> 
       </ul> 

       <!-- Right Side Of Navbar --> 
       <ul class="nav navbar-nav navbar-right"> 
        <!-- Authentication Links --> 
        @if (Auth::guest()) 
         <li><a href="{{ url('/login') }}">Login</a></li> 
         <li><a href="{{ url('/register') }}">Register</a></li> 
        @else 
         <li class="dropdown"> 
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> 
           {{ Auth::user()->name }} <span class="caret"></span> 
          </a> 

          <ul class="dropdown-menu" role="menu"> 
           <li><a href="{{ url('/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Logout</a></li> 
          </ul> 
         </li> 
        @endif 
       </ul> 
      </div> 
     </div> 
    </nav> 

    @yield('content') 


</body> 
</html> 

я хочу, чтобы включать в себя JS в заголовке, используя, если оператор - если addThreadForm.blade.php загружен в раздел содержимого

это можно сделать?

ответ

0

Да, вы можете сделать это

после <style> тега добавить следующие

@yield('header_scripts')

затем в файле addThreadForm.blade.php добавить скрипт в section

@section('header_scripts') 
<script> alert('hi') </script> 
@stop 

Это будет выполняться только тогда, когда addThreadForm.blade.php загружен

0

@ Ответ Mifas хорош, но он не будет работать, если вы намерены использовать другие файлы, также добавляя скрипты в заголовок. Для этого Laravel 5.2 имеет отличную новую функцию в Blade под названием Stacks.

https://laravel.com/docs/5.2/blade#stacks

В addThreadForm.blade.php:

@push('scripts') 
    <script src="/example.js"></script> 
@endpush 

и в макете:

@stack('scripts') 

Это позволяет несколько шаблонов Блейд нажать на стек, а затем, когда макет оказывается все их различные взносы будут объединены и выпущены.

Смежные вопросы