donglin5770 2015-02-11 10:56
浏览 24
已采纳

在CMS中选择页面视图/布局

I am building a CMS and my goal is to allow administrator to choose page view / layout ( Fullwidth, Sidebar, etc. )

So my question is what is the best practice to do this...

I am thinking create in database Layouts with ID and layout_name, and then in controller return View::make('$layout_name');

  • 写回答

2条回答 默认 最新

  • douyan6742 2015-02-11 11:16
    关注

    There are probably different ways to achieve this. In my opinion it's better to keep the make method non-dynamic and to share the layout setup across all the views with View:share. After what you may need to do an if statement to specify how your layouts have to be used.

    $layout_name = 'full_width'; // should be the result of the db query
    View:share('layout', $layout_name); // use it in your controllers, wherever you want
    

    And in the concerned views:

    @if ($layout == 'full_width')
       @extends('layout.fullwidth')
    @elseif ($layout == 'sidebar')
       @extends('layout.sidebar')
    @endif
    

    This solution assumes that you know the different types of layouts that can be used.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同