我有一个样板,有各种各样的,其中之一是:
@include('nav')我想使用相同的样板为我的网站CMS,但使用不同的导航。
当用户使用CMS时,获得样板以包含不同导航的最佳方法是什么:
@include('nav-cms')发布于 2014-02-20 11:54:53
这是一个更多的架构问题,答案是,您可能可以这样做,很多很多方式。然而,答案可能是Laravel特有的,因此这里是这样说的:
一种方法是将include语句更改为:
@include($navView)然后,无论是在控制器中,还是在使用view时,都应该适当地设置该变量。
或者,您也可以使用节来完成此操作:
// layout.blade.php
<html>
<head></head>
<body>
@section('nav')
@include('nav')
@show
@yield('content')
</body>
</html>
// some-frontend-view.blade.php
@extends('layout')
@section('content')
Content here
@stop
// some-cms-view.blade.php
@extends('layout')
@section('nav')
@include('nav-cms')
@overwrite
@section('content')
CMS content here
@stop这样,它就假定了前端导航,然后在CMS中为CMS导航覆盖它。或者,与布局中默认的'nav‘不同,您可以使用@ some-frontend-view.blade.php,并在some-cms-view.blade.php文件中指定它。
https://stackoverflow.com/questions/21906266
复制相似问题