本教程介绍了Magnolia CMS模板的创建和使用机制,涵盖了如何创建您的第一个页面模板,从内容库中绘制内容,以及设计对话框以输入内容。您还可从中看到一个页面是如何由区域和组件构成的。

为何使用模板?

使用模板是为了绘制内容。绘制操作使得在内容管理系统里存储的内容对网站访问者可见、可访问。在Magnolia CMS里,您可以绘制页面,页面的特定区域,和能呈现可编辑内容或实现功能的组件。

结构

模板为所绘制元素提供一个结构。结构对于构造页面布局,并将内容按照正确的顺序呈现来说至关重要。一个简单结构的例子就是页面的页眉和页脚。页眉出现在顶部,页脚在底部,而每页不同的内容则出现在中间。模板使得建立这样一个结构成为可能。您完全可以实现让整个网站的结构一致。

控制

模板使您能够控制绘制的内容。您可以定义什么样的组件和多少个组件可以出现在页面的特定区域里。如果没有模板,将很难做到保持整个网站设计风格一致。

试着去想象一个典型的公司网站。它会包含精心设计的品牌和公司形象——颜色,字体,图片,以及页面布局,使每一页给人的视觉和感觉都是一致的,是整体当中的一部分。您希望通过保护这些固定的元素来保持这个形象。模板使您能够定义页面的哪些部分可以编辑,哪些部分不可以。例如,一个区域模板能够让您自定义该区域允许的组件。如果只能有图片的话,编辑者就不能在这个区域里添加文字了。

模板

Magnolia CMS提供三种类型的模板:

  • 页面模板是最高级别的模板。它被用来绘制页面。页面是一个网站层级的建筑构件。多个父页面和子页面形成树型层级,您可以在Magonlia AdminCentral里看到,并且通过网站地图和导航将他们呈现给网站访问者们。一个URI的每个部分也同样是一个页面。例如,example.com/products/bicycles至少包含三个页面:主页,产品章节页,以及一个叫自行车的页面。
  • 区域模板是页面模板的下一个层级。页面由区域组成,同时区域还能组成更高级的区域或者组件。区域有两个目的:构成页面,和控制编辑者能够放入该区域的组件。这就使区域模板成为最强大的模板。它能够保证网站的一致性,同时也具有重复性。区域模板对包含的组件通常是一个封闭的集合,逐一绘制组件。多数区域在生成的HTML里都是用div标签绘制,所以您可以通过CSS来控制它们在页面上的布局。
  • 组件模板是编辑者能够编辑、删除、以及移动的最小内容单元。如果把一个组件里的内容当成一个整体来看,那么一个最简单的组件就是一个标题加所属的文字组成的整体。然而,它可以包含几乎任何东西:文字和相关的图片,链接列表,以及指向另一页的要点内容等。

属性

所有的模板都需要以下共同的属性:

  • 类型用来告诉系统使用何种绘制程序。绘制程序是一种解析模板脚本语言并由此生成HTML的程序。(准确的说,它可以生成任何种类的输出类型,只不过HTML是最常见的。)您可以将绘制程序看作是一个用来打开特殊类型文件的程序。您的电脑知道一个后缀名为dot的文件应该用Microsoft Word来打开。同样的,类型属性用来告诉Magnolia CMS,ftl脚本应该用FreeMarker程序来绘制,jsp脚本用JSP程序来绘制。
  • 脚本可以用FreeMarker、JSP、或是定制的模板语言来编写。脚本用来指导绘制程序什么地方可以放置内容,同时也包含为诸如标题和图片等内容所准备的占位符。
  • 对话框是一个可选的属性。编辑者使用对话框来输入和编辑内容。大部分模板都有对话框。

模板可以包含更多的属性,但以上这些属性为模板所必需的。

本教程使用基本的模板框架,所有版本的Magnolia CMS都包含此框架。除此之外,还有一个更好的选择:标准模板开发工具箱(Standard Templating Kit,STK)是一系列为常用使用案例准备的最佳实践模板,是用来加速开发的可立即使用的解决方案。浏览过本教程,并了解模板的创建和使用机制是怎样工作之后,您可以试着使用STK,调整和修改STK模板以满足您的需求。

开始创建吧!

小结

本简介教程解释了模板的创建和使用机制的基础知识。

  • 页面,区域,和组件是通过配置定义的。
  • 三者的定义非常相似,都需要类型、脚本以及可能会有的对话框。
  • 区域是最强大的模板,让您能够对内容进行结构设计和控制。
  • 组件可用性定义了编辑者可以为区域添加什么样的组件。
  • 内容是通过对话框输入的,并存放在内容库中。
  • 脚本绘制内容。脚本可以用FreeMarker、JSP或定制的语言编写。
  • 页面、区域和组件通过工具栏编辑和移动。