Laravel 无法扩展默认刀片模板

Posted

技术标签:

【中文标题】Laravel 无法扩展默认刀片模板【英文标题】:Laravel can't extend default blade template 【发布时间】:2014-06-13 15:35:19 【问题描述】:

我有一个默认的导航菜单,我尝试在 data_edit.blade 文件中扩展它。网址如下所示:http://localhost:85/nih/public/bassengweb/995/editData。我真的不确定为什么它不会正确扩展默认值。

这是我可以扩展的其他页面中导航菜单的外观:

这就是它在 data_edit.blade 文件中的样子。当我查看源代码时,我可以看到导航的 html 代码。

default.blade.php 中的代码(母版页)

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">


    <title> $title </title>
</head>
<body>
    <link type="text/css" rel="stylesheet" href="../../public/css/bootstrap.css">
    <!-- Add custom CSS here -->
  <link type="text/css" rel="stylesheet" href="../../public/css/main.css">
  <!-- jQuery -->
    <script src="../../public/js/jquery.min.js"></script>
    <!-- javascript -->
    <script src="../../public/js/bootstrap.js"></script>

<?php
session_start(); 
 $_SESSION['bruker'] = Auth::user()->user_name;
?>

    <!-- Fixed navbar -->
    <div class="navbar navbar-default navbar-fixed-top" role="navigation">

        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".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>
        </div>

        <div class="navbar-collapse collapse">
            <p class="navbar-text pull-right">
                <span class="glyphicon glyphicon-user"></span> 


<span class="label label-info" style="color:white"><a class='navbar-link  ($aktiv == 'minside') ? 'active' : '' '  >
     HTML::linkRoute('user_data', 'Min side '.Auth::user()->user_name)  </a> </span> 
         <span class="label label-danger">  HTML::linkRoute('logout', 'Logg ut') </span></p> 




          <ul class="nav navbar-nav pull-left">

<li class='pil  ($aktiv == 'hvertime') ? 'active' : '' ' > <a class='timemaling' HTML::linkRoute('hvertime','Timemåling')</a> </li>            
<li  class='pil  ($aktiv == 'hvertredjetime') ? 'active' : '' '> <a class='vannmaling' HTML::linkRoute('hvertredjetime','Vannmåling')</a </li>
<li  class='pil  ($aktiv == 'gjoremal') ? 'active' : '' '> <a class='gjoremal' HTML::linkRoute('gjoremal','Oppgaver')</a> </li>         


           <li class='pil dropdown  ($aktiv == 'dagvakt' || $aktiv== 'kveldsvakt' || $aktiv=='helgevakt') ? 'active' : '' '>
            <a    href="#" class="dropdown-toggle glyphicon glyphicon-ok" data-toggle="dropdown"><span class="glyphicon glyphicon-ok" ></span> <big>Rutiner</big> <b class="caret"></b></a>

                <ul class="dropdown-menu">
            <li class=' ($aktiv == 'dagvakt') ? 'active' : '' '> <a class='dagvakt' HTML::linkRoute('dagvakt','Dagvakt')</a> </li> 
            <li class=' ($aktiv == 'kveldsvakt') ? 'active' : '' '> <a class='kveldsvakt' HTML::linkRoute('kveldsvakt','Kveldsvakt')</a> </li>  
            <li class=' ($aktiv == 'helgevakt') ? 'active' : '' '> <a class='helgevakt' HTML::linkRoute('helgevakt','Helgevakt')</a> </li>      
              </ul>   
              </li>

<li  class='pil  ($aktiv == 'kontrollcm') ? 'active' : '' ' > <a class='kontrollcm' HTML::linkRoute('kontrollcm','Kontroll CM')</a> </li> 
<li  class='pil   ($aktiv == 'sok') ? 'active' : '' '> <a class='sok' HTML::linkRoute('sok','Søk')</a> </li>    
<li  class='pil  ($aktiv == 'rapport') ? 'active' : '' ' > <a class='rapport' href='../rapport/index.php'>Rapport</a> </li>           
<li class='pil  ($aktiv == 'diagram') ? 'active' : '' '> <a class='diagram' href='../diagram/index.php'>Diagram</a> </li>   
          </ul>      
        </div><!--/.nav-collapse -->

    </div>
      <br><br>


    @yield('content')

</body>
</html>

data_edit.blade 中的代码

@extends('default')

@section('content')


<h1>Redigerer måling med ID :  $data->id </h1>

@if(Session::has('message'))
    <p style="color: green;"> Session::get('message') </p>
@endif

 Form::open(array('url' => 'bassengweb/updateData', 'method' => 'PUT')) 

 Form::label('tittel', 'Tittel') 
@if($data->tasks->isEmpty())
     Form::text('tittel', $data->measurements[0]->title, array('disabled')) 
     Form::hidden('title', $data->measurements[0]->title) 
@else
     Form::text('tittel', $data->tasks[0]->title, array('disabled')) 
     Form::hidden('title', $data->tasks[0]->title) 
@endif

 Form::hidden('id', $data->id) 

 Form::label('value', 'Verdi') 
 Form::text('value', $data->value) 
 Form::hidden('value_old', $data->value) 

 Form::label('date', 'Dato') 
 Form::text('date', date('d/m/Y', strtotime($data->date))) 
 Form::hidden('saved_date', $data->date) 

 Form::label('time', 'Tid') 
 Form::text('time', $data->time) 

 Form::label('emp', 'Ansatt') 
 Form::select('emp', $emp, $data->emp_id) 

 Form::hidden('changed_by', Auth::user()->user_name) 

 Form::submit('Lagre endringer') 

 HTML::linkRoute('sok', 'Tilbake til søk') 



@stop

【问题讨论】:

您最好发布来自您的主从代码(具有@extends()@section())视图的代码。看起来你的css链接也不准确。尝试使用 URL::to('css/x.css') 而不是使用相对路径。再说一次,我只能做假设。 我现在已经更新了代码。谢谢。 【参考方案1】:

您不应该在 default.blade.php 中使用相对路径,以免造成混乱。

<link type="text/css" rel="stylesheet" href="../../public/css/main.css">

<link type="text/css" rel="stylesheet" href=" URL::to('css/main.css') ">

与您的 javascript 相同。

【讨论】:

以上是关于Laravel 无法扩展默认刀片模板的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 刀片模板扩展了两种不同的布局

如何从 Laravel5 中的刀片模板传递扩展主模板中的变量?

Laravel刀片:模板无法渲染

Laravel Blade:@extend 一个(已经扩展的)子刀片?

Laravel 4刀片模板导致FatalErrorException?

Laravel 刀片模板停止重新加载主布局