STK里的一切都始于原型(prototype)。企业版里的单个站点配置和两个版本的具体页面模板都依赖于原型,都是对原型作出的修改。原型配置方式有两种:
- 网站定义
- 模板原型
原型配置可能是STK里最重要的,是很多其他配置的中枢——将所有东西结合在一起的粘合剂,使一切都处于正确的位置。[1]
原型使用背后的逻辑是效率。其他配置可以扩展原型,这就意味着它们继承了原型的配置,只定义例外情况。没有原型的话,可能就需要重复的配置同样的东西了。
通常原型配置包括可能被用到的设置。这会减小扩展原型配置的复杂性和规格。大多数原型配置通过修改缺省配置就可以改变。
转到STK > 网站定义进入网站定义。
网站定义包括缺省的模板, 主题和变异形式。企业版和社区版唯一的区别是多站特性,它仅对企业版用户可用。
社区版支持单个站点特性。
节点名 | 值 |
---|---|
templates | |
prototype | |
availability | |
theme | |
variations |
企业版支持多个站点。所有配置的站点定义扩展了default定义
。
节点名 | 值 |
---|---|
default | |
templates | |
prototype | |
availability | |
theme | |
variations | |
i18n | |
label | |
demo-project | |
demo-features | |
demo-project-de |
/templates
节点包含如下两个配置:
/prototype
:模板原型配置,将会在下节中讨论到。/availability
:此内容节点决定了编辑者能在内容页面上使用什么样的模板。default
站点可以使用STK > 模板定义/pages
中配置的具体页面模板:- 每个模板都在它自身的内容节点里分配,该节点与模板定义中定义的内容节点相匹配。
id
属性的值由于是<module name>:<path to definition>
结构,所以可以在任何模块里配置的模板引用,不仅限于STK。在企业版里,由于配置在default
网站定义里,而网站定义扩展了default
定义,所以模板对任何其他站点,如demo-project,
都自动可用。 同时,还可以使用
role
来限制对模板的使用。在<template name>
节点下添加一个role
内容节点,并设置一个属性,使该属性的名称和值与安全应用的角色标签里建立的角色相同。详细信息可参考角色。节点名 值 default
templates
prototype
availability
templates
stkHome
roles
superuser superuser id standard-templating-kit:pages/stkHome stkSection
id standard-templating-kit:pages/stkSection stkArticle
stkLargeArticle
stkNews
4.5.9以后的版本,如果您有一个定制的模板可用类,那么请用template.getId()
来代替所有的template.getName()
。这是因为,从Magnolia 4.5.9起,id
属性显示给
/theme
节点在name
属性里分配默认的pop
主题到网站定义里。主题定义网站的外观和感觉,还有它的JavaScript功能。主题在STK > 主题里配置。变异形式可以使用它自己的主题。除非有其他主题被分配给企业版网站定义或变异形式,否则,pop
为所有站点默认使用的主题。
节点名 | 值 |
---|---|
default | |
templates | |
theme | |
name | pop |
variations |
变异形式
就像名字提示的一样,变异形式是原型经过变化的形式。在演示站点上,它用来对内容格式进行重新设计,以适合放到智能手机上,但不仅仅只是这些。例如,您可以为平板、网络电视、PDF,或已登录用户组的特定输出配置变异形式。参看通道以获得更多信息。smartphone变异形式将
在移动性里详细讨论。
/variations
节点包含该网站的所有变异形式的配置。对于每个变异形式,您可以:
- 修改模板原型。
- 使不同的模板对编辑者可用。
分配一个不同于默认
pop
的主题。节点名 值 default
templates
theme
variations
smartphone
templates
prototype
navigation
areas
theme
name theme-pop
国际化
Magnolia CMS在三个层面上提供国际化支持:内容,系统,和编写。您可以在配置应用的/server/i18n
下看到国际化配置。
在企业版里,content
服务器配置依赖于ETKI18nContentSupport
Java类;该类为多站提供额外的国际化支持,通过网站定义里配置的国际化支持体现。
节点名 | 值 |
---|---|
server | |
filters | |
IPConfig | |
i18n | |
content | |
class | info.magnolia.module.extendedtemplatingkit.i18n.ETKI18nContentSupport |
enabled | true |
system | |
authoring |
在STK > 网站定义里,/default/i18n
节点定义default
网站定义的备用国际化设置。其他站点定义可以修改这些设置,特定的站点可以有不同的设置。在/i18n
节点里,有以下设置:
/defaultLocale
设置默认绘制的语言。/fallbackLocale
设置在内容没有被翻译时使用的语言。/class
被设置为DefaultI18nContentSupport
,与社区版使用的Java类相同。/locales
包含必需数量的单个语言的配置。节点名 值 default
templates
theme
variations
i18n
locales
en
country enabled true language en de
class info.magnolia.cms.i18n.DefaultI18nContentSupport defaultLocale en enabled true fallbackLocale en
在整个系统中,语言都是用包含两个字母的识别符来表示,如en代表英语English,de代表德语German。
在社区版里,内容编写是在配置应用 > /server/i18n/content
下配置的。该配置里,设置/fallbackLocale
和单个语言locales
的方法与企业版相同。DefaultI18nContentSupport
与企业版在网站配置中使用的Java类相同。因为社区版不支持多站,所以不需要defaultLocale
属性。默认情况下,enabled
属性被设置为false
,如果要在编辑界面上使能多语内容输入,应将此属性值改为true
。
节点名 | 值 |
---|---|
server | |
filters | |
IPConfig | |
i18n | |
content | |
locales | |
en | |
de | |
class | info.magnolia.cms.i18n.DefaultI18nContentSupport |
enabled | false |
fallbackLocale | en |
system | |
authoring |
不同于上述情况,国际化服务器配置在两个版本中相同。
在编辑界面中,编辑者可以在顶部工具栏的下拉菜单里选择相关语言来编辑内容。语言指示器在所有对话框里都有,位于域标签旁。
注解
- 还有第三种原型,即静态HTML原型,可用于两个目的:将它交给设计者,使他们不需要运行Magnolia CMS实例即可工作;或其他项目利益相关者,展示可用的页面类型和页面组件。