我正忙着创建一个cms,在后端我有一个部分,你可以选择一个页面的布局。目前布局的名称已保存到数据库中,我希望能够做到这样的事情: 如果contact与layouts.contact相同,则显示contact.blade.php。 "接触"是从后端保存在数据库中的布局名称,如果" home"然后选择home.blade.php进行选择。
我尝试创建一个帮助器,但它没有显示任何内容
function getTypeLayout($type = '')
{
$layout = Page::where('type', '=', $type)->get();
switch($layout){
case "home":
echo "home layout";
break;
case "inside":
echo "inside layout";
}
return $type;
}
和我的home.blade.php
{{ getTypeLayout() }}
答案 0 :(得分:2)
您可以创建主模板。在此母版页中,您可以插入内容
<html>
<body>
@section('sidebar')
This is the master sidebar.
@show
<div class="container">
@yield('content')
</div>
</body>
</html>
此内容页面如
@extends('layouts.master')
@section('sidebar')
<p>This is appended to the master sidebar.</p>
@stop
@section('content')
<p>This is my body content.</p>
@stop
在您的控制器中,您可以根据数据库值确定要使用的内容
protected $layout = 'layouts.master';
public function showLayout()
{
$this->layout->content = View::make('<DBvalue>.layout');
}