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
 

两个版本都有完全的国际化支持。企业版配置里添加了i18n节点,与多站国际化支持相联系。

模板

/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

       

(warning) 4.5.9以后的版本,如果您有一个定制的模板可用类,那么请用template.getId()来代替所有的template.getName()。这是因为,从Magnolia 4.5.9起,id属性显示给

$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") TemplateConfig
,而4.5.9之前的版本里显示的是模板节点名。

 

模板可用性,一方面是指不是所有的模板在所有页面级别都可用,另一方面,也由具体模板定义分配到单个模板的类控制。关于网站层级的更多信息请参看类别和子类

主题

/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

 

不同于上述情况,国际化服务器配置在两个版本中相同。

在编辑界面中,编辑者可以在顶部工具栏的下拉菜单里选择相关语言来编辑内容。语言指示器在所有对话框里都有,位于域标签旁。

更多信息参考语言多语结构


注解 

  1. 还有第三种原型,即静态HTML原型,可用于两个目的:将它交给设计者,使他们不需要运行Magnolia CMS实例即可工作;或其他项目利益相关者,展示可用的页面类型和页面组件。
  • No labels