Page History
在网站定义里,模板原型配置缺省的备用模板定义。它:
- 定义全局缺省值,并且是以下内容的起点:
- STK > Template Definitions
/pages
里配置的所有具体模板定义。 - STK > Site Definitions
/variations/<variation name>/templates节点下配置的所有模板变异形式。
- 定义单个模板的基本结构,包括:
- 水平和垂直导航的内容和行为。
- 可用的区域以及它们的缺省行为。
- 每个区域缺省可用的组件(如果有的话)。
每个在STK > Template Definitions里配置的具体的页面模板都有其独特之处。模板原型定义了在大多数模板里很有可能被用到的设置。这使得配置更高效,因为在页面模板定义里只需要定义例外情况就行了。例如,平台区域在原型里默认是禁用的。此区域不被任何具体的模板使用,但对于页面来说是一个不错的附加。它可以通过添加一个简单的节点来启用。
Table of Contents |
---|
模板合并
在页面被请求时,模板原型与具体模板合并。下面的例子展示了合并在stkHome
页面模板里是如何发生的。注意main
和extras
区域。
- 模板原型是最基本的配置。它为
main
和extras
区域定义必需的属性来使它们在所有页面上工作。原型也定义它们的子区域(没有体现在图表中)。 stkHome
是具体的模板定义,从模板原型继承了基础区域配置。一个具体的定义可以添加或覆写继承的所有配置。例如,floating
配置被添加到main
区域。这原本不在原型中。templateScript
属性就是覆写的一个例子。具体定义包括该属性,但提供了一个不同的值,它使用一个不同的为章节页剪裁的mainArea.ftl
脚本。extras
区域的enabled
属性被设置为false
,使该区域被禁用。- 结果是原型和具体定义的合并。它以
def
模板支持对象形式呈现给模板脚本。这就意味着脚本可以用${def.propertyName}
获得属性的值。
...
您可以在具体定义里改变type
区域。参看模板定义 > 改变区域行为了解这在特性模板上是如何实现的。
区域脚本
模板原型所使用的区域脚本在STK > Templates /templating-kit/pages
下可获得。多数区域脚本只简单的分配一个DIV元件以要求绘制区域,而不定义在区域里有什么,因为那是区域定义的责任。
...
- 组件定义通常在STK > Template Definitions
/components
里配置,在这里设置为对模板原型可用。 - 每个组件都是在一个子内容节点下配置的。
- 通常情况下,内容节点名对应组件定义里的内容节点名,但这也并不是严格必须。
id属性以<module name>:<path to component definition>格式定义到组件定义的路径。
这就允许从任何模块来添加组件,而不仅限于STK组件。- 标准的一套组件在原型里对多数区域可用。只要不是在具体模板定义里配置了覆写或添加,相同的组件在所有模板里都可用。样例可参考附加区域
extras
区域,基本区域base
区域和推广区域promos
区域。 一个值得注意的例外情况是内容区域
content
区域。该区域使具体模板脱颖而出的方法是,使这几种不同的组件类型可用:内容模板里的内容组件,主页和章节模板的要点,以及特性模板里的独特组件。因此,这些组件在具体的模板定义里被设置为可用,而在原型里却不可用。Advanced Tables - Table Plus heading 0 multiple false enableHeadingAttributes false enableSorting false class m5-configuration-tree enableHighlighting false 节点名 值 prototype
areas
base
availableComponents
stkTeaserCarousel
idParagraph standard-templating-kit:components/teasers/stkTeaserCarousel catCloudWide
idParagraph categorization:components/catCloudWide
...
比较器类定义了被继承的组件以何种顺序绘制。您可以定义自己的比较器类,只需添加一个nodeComparatorClass
属性到inheritance
配置中,并将其值设置为您的类的完全相称类名。这将会覆写缺省的排序行为。
属性继承
属性继承的意思是区域属性会被子页面继承。演示网站没有使用该选项。属性继承通过添加properties
数据节点到/areas/<area name>/inheritance
内容节点来配置。可用选项有:
...
区域定义可以自动生成组件。自动生成的组件可以在/areas/<area name>/autoGeneration/content
节点里添加。该配置选项在模板原型级别可用,但未被使用。通常它用在具体模板级别更有意义,在STK里,它被用在特色模板里和stkNewsOverview
模板的extras
区域。参考模板定义-自动生成的组件以获得更多信息。
浮动显示
区域定义里的/floating
内容节点指定区域内的元件是否可以浮动显示(并排显示),以及如果可以浮动显示的话,它们会被安排进多少列。与autoGeneration
不同,floating
不可在模板原型级别里不经过定制就进行配置。它在
和stkHome
stkSection
模板的main/content
区域可用。参考启用浮动显示中更多信息。
CSS和JavaScript
CSS和JavaScript可在必要时被添加到模板原型中。这个选项在/default/template/prototype配置中并未使用,因为所有必要的样式表和
JavaScripts都被包含在缺省的pop主题里了,pop主题在
网站定义/theme节点里提到。
参考主题 and 和HTML头部区域以获得更多关于标准配置的信息。
以下配置样例在模板原型级别STK > Site Definitions /default/templates/prototype/cssFiles
和/jsFiles
里添加了一个额外的Javascript和CSS文件。
...