在 themosis 框架版本 1.2 中使用 Scout 模板
Using Scout templating in themosis framework version 1.2
我希望有人能帮助我理解在 themosis 1.2 scout 模板中使用 @sectoin 和 @yield 命令时的理解。
基本上我有一个带有一些基本 html 标记的视图“/views/my-page.scout.php”:
@include('includes.header')
<div> some content </div>
@yield('extra-content')
@include('includes.footer')
enter code here
然后在位于 "views/extras/extra-content.scout.php" 的另一个文件中,我有以下内容:
@section('extra-content')
<div>Some extra content</div>
@stop
我不确定为什么我的@yield 不起作用,我知道我可以只使用@include,但我想更好地了解使用@yield。我查看了 laravel and themosis 文档,但我仍然感到困惑。
如有任何帮助,我们将不胜感激。 :)
文件位置:/views/extras/extra-content.scout.php
文件名:extra-content.scout.php
文件内容:
@section('extra-content')
<div>Some extra content</div>
@stop
文件位置:/views/my-page.scout.php
文件名:my-page.scout.php
文件内容:
@include('includes.header')
<div> some content </div>
@yield('extra-content')
@include('includes.footer')
文件:我的-page.scout.php
@include('includes.header')
@include('extras.extra-content')
<div> some content </div>
@yield('extra-content')
{{-- or include here @include('extras.extra-content') --}}
{{-- or include here @include('extras.extra-content') --}}
@include('includes.footer')
文件 extra-content
应明确包含在此文件或它是 extending/including 的任何文件中。
yield 只会将内容存储在一个变量中,并将在此文件中可用。
在您的用例中,包括可能是最好的方法,因为您的文件仅包含该部分。想象一个额外内容文件,您将在其中输出一些内容 and handle 'extra-content` variable
部分内容将始终放在您产生的位置。
此代码
@section('my-content')
i want to place to place this content somewhere
@stop
将被解释为:
$sections['my-content'] = 'i want to place to place this content somewhere';
和
yield('my-content');
被解释为
echo isset($sections['my-content']) ? $section['my-content']:'';
编辑假设您定义部分的文件额外内容不只包含部分定义:
文件:额外内容
@section('my-content')
this is yielded content displayed where you use yield('my-content')
@stop
<p> this will be displayed where the file is included</p>
我希望有人能帮助我理解在 themosis 1.2 scout 模板中使用 @sectoin 和 @yield 命令时的理解。
基本上我有一个带有一些基本 html 标记的视图“/views/my-page.scout.php”:
@include('includes.header')
<div> some content </div>
@yield('extra-content')
@include('includes.footer')
enter code here
然后在位于 "views/extras/extra-content.scout.php" 的另一个文件中,我有以下内容:
@section('extra-content')
<div>Some extra content</div>
@stop
我不确定为什么我的@yield 不起作用,我知道我可以只使用@include,但我想更好地了解使用@yield。我查看了 laravel and themosis 文档,但我仍然感到困惑。
如有任何帮助,我们将不胜感激。 :)
文件位置:/views/extras/extra-content.scout.php
文件名:extra-content.scout.php
文件内容:
@section('extra-content')
<div>Some extra content</div>
@stop
文件位置:/views/my-page.scout.php
文件名:my-page.scout.php
文件内容:
@include('includes.header')
<div> some content </div>
@yield('extra-content')
@include('includes.footer')
文件:我的-page.scout.php
@include('includes.header')
@include('extras.extra-content')
<div> some content </div>
@yield('extra-content')
{{-- or include here @include('extras.extra-content') --}}
{{-- or include here @include('extras.extra-content') --}}
@include('includes.footer')
文件 extra-content
应明确包含在此文件或它是 extending/including 的任何文件中。
yield 只会将内容存储在一个变量中,并将在此文件中可用。 在您的用例中,包括可能是最好的方法,因为您的文件仅包含该部分。想象一个额外内容文件,您将在其中输出一些内容 and handle 'extra-content` variable
部分内容将始终放在您产生的位置。
此代码
@section('my-content')
i want to place to place this content somewhere
@stop
将被解释为:
$sections['my-content'] = 'i want to place to place this content somewhere';
和
yield('my-content');
被解释为
echo isset($sections['my-content']) ? $section['my-content']:'';
编辑假设您定义部分的文件额外内容不只包含部分定义:
文件:额外内容
@section('my-content')
this is yielded content displayed where you use yield('my-content')
@stop
<p> this will be displayed where the file is included</p>