Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模板继承/扩展布局在laravel中不起作用_Laravel - Fatal编程技术网

模板继承/扩展布局在laravel中不起作用

模板继承/扩展布局在laravel中不起作用,laravel,Laravel,我的问题是模板继承对某些视图不起作用 这是我的模板layout.blade.php <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1">

我的问题是模板继承对某些视图不起作用

这是我的模板layout.blade.php

<html>
    <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>PoetryCollective</title>
    <link href="{{ asset('bower/bootstrap/dist/css/bootstrap.min.css') }}" rel="stylesheet">
    <link href="{{ asset('css/style.css') }}" rel="stylesheet">

    <!-- Bootstrap -->
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
    </head>
    <body>

        </div>
        <div class="container">

        <div class="row">
            </div>
            <div class="col-md-2 line logotitle">
                        <img alt="logotitle" src="{{ asset('images/poetryfont.png') }}"></img>  

            </div>
            <div class="col-md-10 line">
                <ul class="nav nav-tabs mynav navbar-right">
                        <li role="presentation"><a href="#">Login</a></li>
                        <li role="presentation"><?php echo link_to('/users/signup', 'SignUp');?></li>
                </ul>
            </div>
            <div class="row">
                <div class="col-md-11">
                    <div class="logotitle">
                    </div>
                </div>
                <div class="col-md-1 rightlogo">
                </div>
            </div>
            <div class="row">
                <div class="col-md-12">
                <div class="navigation">
                    <nav role="navigation" class="navbar navbar-default mainnav">
                        <ul class="nav navbar-nav">
                            <li  role="presentation" class="active"><a href="#">Write poems</a></li>
                            <li  role="presentation"><a href="#">Read Poems</a></li>
                        </ul>
                        <form class="navbar-form navbar-right" role="search">
                            <div class="form-group">
                              <input type="text" class="form-control" placeholder="Find a poem">
                            </div>
                            <button type="submit" class="btn btn-default">Submit</button>
                        </form>
                    </nav>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-8 content">
                        @yield('content')


                        <h1>Lorem Ipsum</h1>
                        <p>
                            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras maximus in velit nec mattis. Morbi auctor massa vitae lorem molestie aliquam. Vivamus bibendum mi at eros fermentum, et gravida risus euismod. Quisque eu nisl vel urna placerat imperdiet nec in tortor. Morbi interdum pulvinar odio, eu pharetra massa varius vitae. Pellentesque suscipit felis ante, at dapibus felis luctus quis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean feugiat luctus erat, id facilisis mi suscipit quis. Donec eu erat sed leo volutpat rutrum. Suspendisse aliquam pretium eleifend. Curabitur nec volutpat ex. In interdum tortor id enim efficitur, ut porttitor lacus consectetur. Mauris blandit mollis neque, eget tincidunt ex hendrerit non. Donec sed ligula eu enim feugiat sollicitudin. Sed facilisis at mauris in rutrum.

                        </p>

                        <h1>Lorem Ipsum</h1>

                        <p>


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent purus justo, consectetur at blandit id, porttitor vitae nunc. Interdum et malesuada fames ac ante ipsum primis in faucibus. Integer efficitur nulla eros. Aliquam eleifend venenatis sapien, sit amet lacinia dolor rhoncus quis. Fusce aliquam ullamcorper nulla at iaculis. Pellentesque suscipit, mi ut rhoncus sodales, elit arcu suscipit ex, a tempor eros quam quis ipsum. Vestibulum interdum rutrum faucibus. Aliquam vel feugiat mi, id vulputate nulla. Aliquam dapibus dolor eu risus tempus posuere. Aliquam erat volutpat. Integer in malesuada leo, ac commodo diam.

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aliquam bibendum lectus nec felis tempus, a fermentum enim condimentum. Etiam magna nulla, bibendum egestas dictum vitae, rhoncus at lorem. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla vestibulum vel lectus pharetra lobortis. Pellentesque lorem odio, consectetur in ultricies sagittis, facilisis at ante. Phasellus at sagittis nunc. Mauris hendrerit velit libero, vitae finibus augue rhoncus eget. Ut tincidunt pharetra arcu, ac fermentum nisi faucibus in. Nulla molestie vestibulum ligula, eget ultricies ex dictum id. Quisque scelerisque dictum lorem. Ut euismod blandit sem, sit amet tempor nulla sollicitudin aliquam. Nulla egestas feugiat fringilla.

Etiam id molestie neque, non malesuada enim. Aenean blandit interdum ligula, nec gravida dui. Nam lectus nisi, pulvinar at dolor et, dignissim maximus odio. Quisque sed congue velit, pellentesque fermentum dui. Mauris sed varius sem, nec dapibus est. Nulla suscipit enim diam, quis gravida quam placerat vel. Integer a dui ornare, hendrerit urna sed, sollicitudin enim. Phasellus id ante a sapien dictum hendrerit fermentum nec lectus. Integer elementum orci volutpat viverra interdum.

Fusce eget orci ornare, varius libero in, sodales nisl. Aenean at scelerisque eros. Nunc ut viverra neque, ut posuere libero. Maecenas in massa venenatis, mattis mauris. 


                        </p>
            </div>

            <div class="col-md-4 sidebar">
                    <h3>Sidebar</h3>

            </div>

        </div>
        <div class="row">
            <div class="col-md-12 footer">
                <p class="credit">
                    Fontdesign in Logo by Sergiy S. Tkachenko</p>
            </div>
        </div>
    </div>


        <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="{{ asset('bower/bootstrap/dist/js/bootstrap.min.js') }}"></script>
    <script src="{{ asset('js/production.min.js') }}"></script>
    </body>
</html>
但此选项不起作用,也不会加载模板,只会显示其本身的内容:

@extends('layout')


@section('content')

<?php
echo "<p>Signing up</p>";

echo Form::open(array('url' => '/users/signup'));
echo Form::label('username', 'Username');
echo Form::text('username');
echo Form::label('email', 'E-Mail Address');
echo Form::text('email');
echo Form::label('Password');
echo Form::password('password');
// echo Form::password('password1', 'Password confirmation');
echo Form::close();

if(!empty ($errors))
{
    foreach ($erros->all() as $error)
    {
        echo '<div class="error">' . $error . '</div>';
    }
}
?>
@stop
我就是不明白为什么一个加载了模板而另一个不加载。
非常感谢您的帮助。

这似乎是您对模板系统的工作方式做出一些未陈述的、可能未实现的假设的情况之一。我要指出你的问题让人困惑的地方,希望这能为你指明正确的方向

Laravel中有两个模板系统。其中一个名为blade,使用如下语法

@extends('layout')

@section('content')
    La de {{$da}}
@stop
<h1>This is a template</h1>
La de <?php echo $da; ?>     
第二个使用较少的系统是一个基本的PHP模板系统。i、 例如,通过类方法包含一个PHP文件,您可以访问完整的PHP系统。它使用的语法如下所示

@extends('layout')

@section('content')
    La de {{$da}}
@stop
<h1>This is a template</h1>
La de <?php echo $da; ?>     
并将模板命名为app/view/example.blade.php,然后Laravel将使用blade系统呈现模板。如果将模板命名为app/view/example.php,Laravel将使用php系统呈现模板

重要提示:只有刀片系统支持模板继承。i、 e.PHP模板没有与@extends和@section等价的内容。您可以通过其他方式来模拟,但PHP模板中没有继承概念

在您的问题中,您没有包含模板的名称,因此我们无法判断它们是由blade还是由PHP呈现的


另外,在第二个模板中,您混合了blade和PHP语法。你不能用切换到PHP,我理解你的问题,但是你的代码对我来说毫无意义

如果您使用的是刀片模板,则更适合使用以下模板:

@extends('layout')

@section('content')

<p>Signing up</p>

{{ Form::open(array('url' => '/users/signup')) }}
{{ Form::label('username', 'Username') }}
{{ Form::text('username') }}
{{ Form::label('email', 'E-Mail Address') }}
{{ Form::text('email') }}
{{ Form::label('Password') }}
{{ Form::password('password') }}
{{ Form::close() }}

@if(!empty ($errors))
    @foreach ($erros->all() as $error)
        <div class="error">' . $error . '</div>';
    @endforeach
@endif
@stop

更干净

如果其中一个工作,而另一个不工作,则应检查以下各项:

@extends('layout')

@section('content')

<p>Signing up</p>

{{ Form::open(array('url' => '/users/signup')) }}
{{ Form::label('username', 'Username') }}
{{ Form::text('username') }}
{{ Form::label('email', 'E-Mail Address') }}
{{ Form::text('email') }}
{{ Form::label('Password') }}
{{ Form::password('password') }}
{{ Form::close() }}

@if(!empty ($errors))
    @foreach ($erros->all() as $error)
        <div class="error">' . $error . '</div>';
    @endforeach
@endif
@stop
1文件的位置。例如,如果它位于“layouts”文件夹中,则需要在文件夹名称前加前缀:

    @extends('layouts.foo')
2文件名的扩展名为.blade.php,例如foo.blade.php,而不是foo.php


3实际文件名,您可能命名不正确,请检查文件的拼写和扩展名

请显示您的控制器foreach$erros->all as$error to foreach$errors->all as$error您可以在blade模板中使用原始php标记,我认为问题出在另一方面,在那里学到了一些新东西。我想我不喜欢那个功能。不管怎样-模板的名称是什么?
@extends('layout')

@section('content')

<p>Signing up</p>

{{ Form::open(array('url' => '/users/signup')) }}
{{ Form::label('username', 'Username') }}
{{ Form::text('username') }}
{{ Form::label('email', 'E-Mail Address') }}
{{ Form::text('email') }}
{{ Form::label('Password') }}
{{ Form::password('password') }}
{{ Form::close() }}

@if(!empty ($errors))
    @foreach ($erros->all() as $error)
        <div class="error">' . $error . '</div>';
    @endforeach
@endif
@stop
    @extends('layouts.foo')