...
这些模板可供编辑者在页面应用里选择使用。它们可以出现在页面应用的模板域里,只需要:下拉菜单里,只需要:
在通用属性里,visible
属性设置为true
。- 模板在模板在企业版的缺省网站定义或企业版里任意其他网站定义里可用。网站定义或其他网站定义里设置为可用。
- 编辑者的权限已经足够获取特定的模板了。基于
role
的限制可利用原型里的编辑者的权限已经可以获取特定的模板了。如要通过角色来限制权限,可在原型里的/availability/<template name>/roles
节点来添加。节点下配置。
可用的模板在不同的页面级别是不同的。例如,不同的页面级别可用的模板是不同的。例如,级别1可用stkHome
和stkRedirect在级别1可用
,而stkRedirect
,而级别2则可用stkSection
和其他的则在级别2可用等。以下的和其他的模板。以下的类别和子类有关于如何实现网站层级的更多信息。有更多关于如何实现网站层级的信息。
所有具体的页面模板都是基于模板原型的。原型包含了缺省结构和行为,以及具体的对原型配置的例外,添加物,以及覆写的定义。参考的。原型包含了缺省结构和行为,具体模板则定义了对原型配置的例外、添加物和覆写。参考模板合并里的样例以了解它是如何工作的。里的样例来了解它是如何工作的。
为了能让系统识别,模板定义里的配置结构需要与模板原型里相应的配置一样。比较模板原型(prototype)和以下的
为了能使系统识别,模板定义里的配置结构需要与模板原型里相应的配置一样。比较模板prototype和下面的stkEvent
模板里关于
infoBlock
区域的配置,注意两者的节点结构是相同的。
Section |
---|
Column |
---|
| 模板原型 Advanced Tables - Table Plus |
---|
heading | 0 |
---|
multiple | false |
---|
enableHeadingAttributes | false |
---|
enableSorting | false |
---|
class | m5-configuration-tree |
---|
enableHighlighting | false |
---|
| 节点名 | 值 |
---|
default | | templates | | prototype | | areas | | main | | areas | | intro | | areas | | infoBlock | |
|
|
Column |
---|
| 模板定义 Advanced Tables - Table Plus |
---|
heading | 0 |
---|
multiple | false |
---|
enableHeadingAttributes | false |
---|
enableSorting | false |
---|
class | m5-configuration-tree |
---|
enableHighlighting | false |
---|
| 节点名 | 值 |
---|
pages | | stkEvent | | areas | | main | | areas | | intro | | areas | | infoBlock | |
|
|
|
为使模板独一无二,您可以在模板定义里:为了使模板具有唯一性,您可以在模板定义里:
- 覆写原型里的大多数属性和内容节点配置。
- 为原型配置添加物。添加物为原型里所没有的新配置,能够添加功能,区域,组件,以及其他特性。为原型配置添加物。添加物为原型里所没有的新配置,能够添加功能、区域、组件以及其他特性。
没有硬性的快速规则。在典型安装里,模板原型里应包含的配置,与具体模板相比,是一个较为实用而非技术化的选择。配置模板没有硬性的快速规则。一个典型安装里模板原型包含的配置,与具体模板相比,只是一个较为实用而非技术化的选择。
对原型的修改可以在以下级别进行:
- 页面级,如引用一个新的
templateScript
。以下讨论的stkRedirect
模板就是这样的一个例子。 - 导航级,通过修改缺省导航配置或编写一个全新的。这通常不是必须的,但适用于特殊定制的模板。或编写一个全新的配置。这通常不是必须的,但可能适用于特别定制的模板。
- 区域级,通过引用不同的脚本并改变区域行为。参考main区域
main
区域样例。 - 变异形式级,通过为特定模板禁止区域,好让区域为特定变异形式绘制。参考变异形式级,在特定模板里禁止区域,这样区域只会在指定的变异形式绘制,而不会在其他变异形式绘制。参考移动性以了解这个选项是如何用在了解这个选项是如何用在
stkHome
模板的stage
区域里的。 - JavaScript和CSS级,通过引用不同的CSS表或JavaScript。此选项通常不是必须的,无论在原型还是具体模板定义里都不会使用,不过以下的JavaScript和CSS级,引用不同的CSS表或JavaScript。很少需要这种做法,无论原型还是具体模板定义都没有使用,不过CSS和JavaScript是一个配置样例。里有一个配置样例。
模板属性
多数模板属性是在具体模板级别分配的,它们能够区分不同的模板。多数模板属性是在具体模板级别分配的,能够区分不同的模板。
参考资料部分的页面>属性里有可用的模板属性的完整列表及其用法。里有一个完整的列表,包含了可用的模板属性及用法。
通用属性
模板原型里分配的唯一一个对所有具体模板都可用的属性是里分配的唯一一个所有具体模板都可用的属性是templateScript
,它引用管理页面脚本,,用来引用管理页面脚本,即main.ftl。
除了这一个例外,以下通用属性为所有STK模板所用:除此之外,所有STK模板都使用以下通用属性:
class
节点里分配的STKPage,
定义基本模板定义。modelClass节点里分配的STKPageModel
为基本页面模型,提供页面级功能。它扩展,
是基本页面模型,提供页面级功能。它扩展了STKPage
。值为
stk的
renderType节点分配的
STKRenderer
为STK专用绘制器,被所有STK模板(页面和组件)使用。renderType节点下值为
stk时,
分配的
STK专用绘制器,
STKRenderer
。所有STK模板(页面和组件)都可以使用这个绘制器。i18nBasename
节点下分配的国际化关键字,国际化关键字,info.magnolia.module.templatingkit.messages
,在i18nBasename
节点下分配。这也是指向包含STK翻译的消息包的关键字。。这也是STK翻译的消息包关键字。visible
属性设置为true,
使编辑者在页面应用里可以选择该模板。设置为true
的visible
属性使模板在页面应用里对编辑者可用。
Advanced Tables - Table Plus |
---|
heading | 0 |
---|
multiple | false |
---|
enableHeadingAttributes | false |
---|
enableSorting | false |
---|
class | m5-configuration-tree |
---|
enableHighlighting | false |
---|
|
节点名 | 值 |
---|
pages | | stkArticle | | areas | | bodyID | article | category | content | class | info.magnolia.module.templatingkit.templates.pages.STKPage | dialog | standard-templating-kit:pages/article/stkArticleProperties | i18nBasename | info.magnolia.module.templatingkit.messages | modelClass | info.magnolia.module.templatingkit.templates.pages.STKPageModel | renderType | stk | subcategory | article | title | templates.stkArticle.title | visible | true |
|
...
stkRedirect
模板使用它自己的:modelClass
: RedirectTemplateModel
用于扩展STKPageModel
并提供3个交替的重定向模式,这三个模式取决于编辑者设置的path
值:,这个模型类扩展了STKPageModel,
并提供3个可选的重定向模式。编辑者可以通过以下方式之一设置path
值来选择模式:
在页面编辑器里,页面上绘制到内部或外部重定向的路径,但在预览里,则由目标页面绘制。在页面编辑器里,页面显示到内部或外部重定向的路径,但在预览里,则显示目标页面。/demo-project/service/m5-campaign
页面基于页面使用的是stkRedirect
模板。
模板特定属性
以下属性因每个模板而不同:
bodyID
:这是专为模板的样式准备的CSS表所用的标签。参考:这是模板专有样式的CSS表所用的标签。参考Body类和ID以获得更多信息。bodyID
和subcategory值常常会一致,但它们彼此之间没有相通的关系。
subcategory
值常常会一致,但它们彼此之间没有依赖关系。category
和subcategory
:每个模板都会被分配一个类别,大多数也会被分配一个子类。类别被用在很多场合,参考下面的:每个模板都会分配到一个类别里,同时大多数模板也会分配到子类。很多场合都使用了类别,参考类别和子类。dialog
:每个页面模板会连接到它自己的stk<Template name>Properties
对话框,这个对话框在STK > 对话框定义 /pages
里配置。每个页面顶部工具栏里的里配置。页面顶部工具栏里的属性按钮可以打开此对话框,用来控制浏览器标题和导航标题及行为,页面管理数据(关键字和描述),变异排除和页面依赖性。详细信息参看按钮可以打开此对话框,控制浏览器标题和导航标题及行为,页面元数据(关键字和描述),变异形式排除和页面依赖性。详细信息参看属性对话框。title
:在页面应用的模板域里显示的模板标题。下拉菜单里显示的模板标题。
Advanced Tables - Table Plus |
---|
heading | 0 |
---|
multiple | false |
---|
enableHeadingAttributes | false |
---|
enableSorting | false |
---|
class | m5-configuration-tree |
---|
enableHighlighting | false |
---|
|
节点名 | 值 |
---|
pages | | stkImageGallery | | areas | | bodyID | image-gallery | category | feature | class | info.magnolia.module.templatingkit.templates.pages.STKPage | dialog | standard-templating-kit:pages/imageGallery/stkImageGalleryProperties | i18nBasename | info.magnolia.module.templatingkit.messages | modelClass | info.magnolia.module.templatingkit.templates.pages.STKPageModel | renderType | stk | subcategory | imageGallery | title | templates.stkImageGallery.title | visible | true |
|
extends
属性extends属性
Magnolia CMS使用扩展机制被用来最小化配置。该机制类似单个模板定义和原型定义之间的关系,只不过它很直观。只有修改,例外,和添加物才在扩展配置中配置,其他所有配置都照搬基本配置。来最小化配置。这个机制类似于单个模板定义和原型定义之间的关系,只不过它很直观。扩展配置中只配置修改、例外和添加物,其他所有配置都照搬基本配置。
内容模板,也就是stkLargeArticle
,stkNews
,stkEvent和
stkGlossaryTerm
,都是组成基本配置的,都是在stkArticle
模板的扩展。您可以使用此机制轻松创建与缺省的STK模板类似的定制模板。模板基本配置上的扩展。您可以使用此机制轻松创建与缺省STK模板类似的定制模板。
Advanced Tables - Table Plus |
---|
heading | 0 |
---|
multiple | false |
---|
enableHeadingAttributes | false |
---|
enableSorting | false |
---|
class | m5-configuration-tree |
---|
enableHighlighting | false |
---|
|
节点名 | 值 |
---|
pages | | stkArticle | | stkLargeArticle | | stkNews | | areas | | dialog | standard-templating-kit:pages/news/stkNewsProperties | extends | /modules/standard-templating-kit/templates/pages/stkArticle | subcategory | news | title | templates.stkNews.title |
|
相似地,/pages/demo-features
里的模板都是stkSection
模板的扩展。这些模板展示了您可以通过配置来改变页面布局的多种途径。您可以在模板的扩展。这些模板展示了通过配置来改变页面布局的多种途径。您可以在demo-features站点的Section Variations里看到。
Advanced Tables - Table Plus |
---|
heading | 0 |
---|
multiple | false |
---|
enableHeadingAttributes | false |
---|
enableSorting | false |
---|
class | m5-configuration-tree |
---|
enableHighlighting | false |
---|
|
节点名 | 值 |
---|
pages | | demo-features | | stkSectionNoExtras | | areas | | extends | /modules/standard-templating-kit/templates/pages/stkSection | title | Section no Extras | stkSectionNoHeader | | stkSectionFloating | |
|
extends属性也可被设置为
extends属性也可设置为
override
来覆写部分扩展配置。参考以下的来覆写部分扩展配置。参考使组件可用中的样例。
Tip |
---|
模板合并是一个自动化的过程,不依赖于扩展机制。模板定义里不能使用extends=override 属性不能被用在模板定义里来修改模板原型。属性来修改模板原型。 |
类别和子类
每个STK页面模板都属于一个类别,除stkHome
和stkRedirect
以外的所有模板都有一个子类(subcategory
)。类别使您能够控制模板可被用在网站上的什么位置。如果一个模板类别不被允许在网站结构的指定位置出现,它将不会对编辑者可用。分类机制因此确保了模板分配的一致性,并使您的网站有一个可控的结构。
...