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
:此内容节点决定了作者能在内容页面上使用什么样的模板。在STK > 模板定义/pages
中配置的具体页面模板对default
站点也可用:- 每个模板都在与其模板定义中匹配的内容节点里分配。
id
属性的值有一个<module name>:<path to definition>
结构,可以包含在任何模块里配置的模板,不只是STK。在企业版里,由于配置在default
网站定义里,模板对任何其他站点都自动可用,如demo-project
,因为网站定义扩展了default
定义。 同样,使用
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实例即可工作的设计者,或交给其他项目利益相关者,作为一个可用页面类型和页面组件的展示。