Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

STK里的一切都始于原型(prototype)。企业版里的单个站点配置和两个版本的具体页面模板都依赖于原型,都是对原型作出的修改。原型配置方式有两种

原型配置可能是STK里最重要的,是很多其他配置的中枢——将所有东西结合在一起的粘合剂,使一切都处于正确的位置。[1]

原型使用背后的逻辑是效率。其他配置可以扩展原型,这就意味着它们继承了原型的配置,只定义例外情况。没有原型的话,可能就需要重复的配置同样的东西了。

通常原型配置包括可能被用到的设置。这会减小扩展原型配置的复杂性和规格。大多数原型配置通过修改缺省配置就可以改变。

Table of Contents

转到STK > 网站定义进入网站定义。

网站定义包括缺省的模板主题变异形式。企业版和社区版唯一的区别是多站特性,它仅对企业版用户可用。

社区版支持单个站点特性。

Advanced Tables - Table Plus
heading0
multiplefalse
enableHeadingAttributesfalse
enableSortingfalse
classm5-configuration-tree
enableHighlightingfalse
节点名

templates

 

prototype

 

availability

 

theme

 

variations

 

企业版支持多个站点。所有配置的站点定义扩展default定义

Advanced Tables - Table Plus
heading0
multiplefalse
enableHeadingAttributesfalse
enableSortingfalse
classm5-configuration-tree
enableHighlightingfalse
节点名
default 

templates

 

prototype

 

availability

 

theme

 

variations

 

i18n

 

Paragraph

label

 
demo-project 
demo-features 
demo-project-de 
Info

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

模板

/templates节点包含如下两个配置:

  • /prototype模板原型配置,将会在下节中讨论到。
  • /availability:此内容节点决定了编辑者能在内容页面上使用什么样的模板。default站点可以使用STK > 模板定义 /pages中配置的具体页面模板:
    • 每个模板都在它自身的内容节点里分配,该节点与模板定义中定义的内容节点相匹配。id属性的值由于是<module name>:<path to definition>结构,所以可以在任何模块里配置的模板引用,不仅限于STK。在企业版里,由于配置在default网站定义里,而网站定义扩展了default定义,所以模板对任何其他站点,如demo-project,都自动可用。
    • 同时,还可以使用role来限制对模板的使用。在<template name>节点下添加一个role内容节点,并设置一个属性,使该属性的名称和值与安全应用的角色标签里建立的角色相同。详细信息可参考角色

      Advanced Tables - Table Plus
      heading0
      multiplefalse
      enableHeadingAttributesfalse
      enableSortingfalse
      classm5-configuration-tree
      enableHighlightingfalse
      节点名

      default

       

      templates

       

      prototype

       

      availability

       

      templates

       

      stkHome

       

      roles

       

      Paragraph

      superuser

      superuser

      Paragraph

      id

      standard-templating-kit:pages/stkHome

      stkSection

       

      Paragraph

      id

      standard-templating-kit:pages/stkSection

      stkArticle

       

      stkLargeArticle

       

      stkNews

       

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

Javadoc
0info.magnolia.module.templatingkit.sites.TemplateConfig
,而4.5.9之前的版本里显示的是模板节点名。

 

Tip

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

主题

/theme节点在name属性里分配默认的pop主题到网站定义里。主题定义网站的外观和感觉,还有它的JavaScript功能。主题在STK > 主题里配置。变异形式可以使用它自己的主题。除非有其他主题被分配给企业版网站定义或变异形式,否则,pop为所有站点默认使用的主题。

Advanced Tables - Table Plus
heading0
multiplefalse
enableHeadingAttributesfalse
enableSortingfalse
classm5-configuration-tree
enableHighlightingfalse
节点名

default

 

templates

 

theme

 

Paragraph

name

pop

variations

 

变异形式

就像名字提示的一样,变异形式是原型经过变化的形式。在演示站点上,它用来对内容格式进行重新设计,以适合放到智能手机上,但不仅仅只是这些。例如,您可以为平板、网络电视、PDF,或已登录用户组的特定输出配置变异形式。参看通道以获得更多信息。smartphone变异形式将移动性详细讨论。

/variations节点包含该网站的所有变异形式的配置。对于每个变异形式,您可以:

  • 修改模板原型。
  • 使不同的模板对编辑者可用。
  • 分配一个不同于默认pop的主题。

    Advanced Tables - Table Plus
    heading0
    multiplefalse
    enableHeadingAttributesfalse
    enableSortingfalse
    classm5-configuration-tree
    enableHighlightingfalse
    节点名

    default

     

    templates

     

    theme

     

    variations

     

    smartphone

     

    templates

     

    prototype

     

    navigation

     

    areas

     

    theme

     

    Paragraph

    name

    theme-pop

国际化

Magnolia CMS在三个层面上提供国际化支持:内容,系统,和编写。您可以在配置应用的/server/i18n下看到国际化配置。

在企业版里,content服务器配置依赖于ETKI18nContentSupport Java类;该类为多站提供额外的国际化支持,通过网站定义里配置的国际化支持体现。

Advanced Tables - Table Plus
heading0
multiplefalse
enableHeadingAttributesfalse
enableSortingfalse
classm5-configuration-tree
enableHighlightingfalse
节点名

server

 

filters

 

IPConfig

 

i18n

 

content

 

Paragraph

class

info.magnolia.module.extendedtemplatingkit.i18n.ETKI18nContentSupport

Paragraph

enabled

true

system

 

authoring

 

STK > 网站定义里,/default/i18n节点定义default网站定义的备用国际化设置。其他站点定义可以修改这些设置,特定的站点可以有不同的设置。在/i18n节点里,有以下设置:

  • /defaultLocale设置默认绘制的语言。
  • /fallbackLocale设置在内容没有被翻译时使用的语言。
  • /class被设置为DefaultI18nContentSupport,与社区版使用的Java类相同。
  • /locales包含必需数量的单个语言的配置。

    Advanced Tables - Table Plus
    heading0
    multiplefalse
    enableHeadingAttributesfalse
    enableSortingfalse
    classm5-configuration-tree
    enableHighlightingfalse
    节点名

    default

     

    templates

     

    theme

     

    variations

     

    i18n

     

    locales

     

    en

     

    Paragraph

    country

     

    Paragraph

    enabled

    true

    Paragraph

    language

    en

    de

     

    Paragraph

    class

    info.magnolia.cms.i18n.DefaultI18nContentSupport

    Paragraph

    defaultLocale

    en

    Paragraph

    enabled

    true

    Paragraph

    fallbackLocale

    en

在整个系统中,语言都是用包含两个字母的识别符来表示,如en代表英语English,de代表德语German。

在社区版里,内容编写是在配置应用 > /server/i18n/content下配置的。该配置里,设置/fallbackLocale和单个语言locales的方法与企业版相同。DefaultI18nContentSupport与企业版在网站配置中使用的Java类相同。因为社区版不支持多站,所以不需要defaultLocale属性。默认情况下,enabled属性被设置为false,如果要在编辑界面上使能多语内容输入,应将此属性值改为true

Advanced Tables - Table Plus
heading0
multiplefalse
enableHeadingAttributesfalse
enableSortingfalse
classm5-configuration-tree
enableHighlightingfalse
节点名

server

 

filters

 

IPConfig

 

i18n

 

content

 

locales

 

en

 

de

 

Paragraph

class

info.magnolia.cms.i18n.DefaultI18nContentSupport

Paragraph

enabled

false

Paragraph

fallbackLocale

en

system

 

authoring

 

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

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

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


注解 

Anchor
Footnotes
Footnotes

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