将静态页面添加到CMS

时间:2015-04-30 09:22:05

标签: php templates content-management-system laravel-5

我使用laravel 5和刀片模板引擎。我想创建模块以插入静态页面作为.zip存档,其中包含html,css,js和图像文件到我的CMS中。当用户需要与另一家公司创建页面并且没有laravel技能或者不需要了解我们的项目结构时,这应该会有所帮助。

我目前的流程如下:

  1. 使用结构准备.zip存档:
    • 资产
      • JS​​
      • CSS
      • 图像
    • 的index.html
  2. 情景:

    enter image description here

    1. 打开CMS并填写标题,链接(slug),类别并将存档放入文件输入。在保存时,我将存档解压缩到public/static_pages/__slug__/并通过添加正确的链接替换资源(css,js,images)的 index.html 链接。此页面的链接类似于/page/{category_slug}/{slug}
    2. 例:

      这有效,但有时我想使用布局,例如某些页面使用菜单和页脚,但其他页面没有。那我该怎么办?

      我有一些想法:

      1. 将html文件转换为刀片。在开发过程中我们将添加特殊的 评论有<!-- section content --><!-- section menu -->和 将其转换为刀片模板。
      2. 添加正确的刀片文件
      3. 添加html并在CMS中选择布局。如果选择了布局,那么使用它并添加到@section('content')我们的静态页面,如果没有 - 显示没有布局的静态页面。
      4. 添加包含<!-- insert menu --><!-- insert content -->等评论的html文件。我们应该在数据库或文件中准备一些“部分”,并用准备好的部分替换注释。
      5. 问题:

        在所有情况下,我都不知道在正确的位置添加css / js文件(在html中)。

        如果是布局 - 如果我们使用布局,那么我们应该有预定义的jquery。所以在静态页面中我们无法复制它,但在开发过程中我们需要它。

        如果没有布局 - 每次在存档中添加jquery和global css,所以我们在服务器上复制它并且无法缓存它。

        我应该做什么?

1 个答案:

答案 0 :(得分:0)

如果您不想使用Less / Sass或任务运行器(例如gulp),您可以手动将资源文件添加到公共文件夹:

public
|_css
|_js

在您的观点中只需将其链接到它们,如下所示:

{{ HTML::style('css/style.css') }}

或者

<link media="all" type="text/css" rel="stylesheet"  href="css/style.css">

脚本相同。您可以从这里获得更多信息:

http://laravel.com/docs/5.1/blade

http://laravel.com/docs/5.0/templates

我尝试使用名为

的视图中的文件夹来组织我的主题文件
  

&#34;布局&#34;

然后制作以下文件:

  

master.blade.php,header.blade.php,footer.blade.php

在header.blade.php中设置html标题代码,对于foooter,你可以像这样设置你的主人:

    <!DOCTYPE html>
<html>
    <head>
        <title>@yield('title')</title>

        @include('layout.header')


    </head>
    <body>
        @yield('content')
    </body>
<footer>
    @include('layout.footer')
</footer>
</html>

然后在您的任何视图中,刀片文件只写:

 @extends('layout.master')
@section('title','title of your page')
@section('content')
your body content
@stop