Versions Compared

Key

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

...

single区域list区域
Code Block
[@cms.component content=component /]
Code Block
[#list components as component]
   [@cms.component content=component /]
[/#list]

区域类

很多区域定义会定义调用区域时用来实例化的特定Java类。如果您想要以任何方式在具体模板定义里修改区域定义,很多区域定义会定义一个特定的Java类,这个类在调用区域时可以实例化。如果您想要以任意方式在具体模板定义里修改区域定义,class属性节点应在具体区域定义里被属性节点应在具体区域定义里重复,也就是说,一个引用出现,也就是说,模板原型和具体模板定义里都应包含一个引用相同的完全相称类名的class属性,应该在模板原型和具体模板定义里都包含。这样做的原因是,两种定义和它们的属性。这样做的理由是,两种定义和它们的classes可以在模板合并过程中同时被实例化。如果在模板定义没能找到class,那么使用备用的class,即

Javadoc
0info.magnolia.rendering.template.configured.ConfiguredAreaDefinition

...

Section
Column

模板原型

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

default

 

templates

 

areas

 

main

 

areas

 

Paragraph

class

info.magnolia.module.templatingkit.templates.MainArea

Paragraph

description

areas.templates.main.description

Paragraph

templateScript

/templating-kit/pages/global/mainArea.ftl

Paragraph

title

areas.templates.main.title

Paragraph

type

noComponent

   

Column

模板定义

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

stkArticle

 

areas

 

main

 

areas

 

Paragraph

class

info.magnolia.module.templatingkit.templates.MainArea

Paragraph

templateScript

/templating-kit/pages/content/mainArea.ftl

Paragraph

bodyID

 

这条规则只对以下情形适用:这个规定只对以下情形适用:

  • 原型区域定义里有class属性,并且
  • 在具体区域定义中区域定义某种程度上被修改。在具体区域定义中,区域定义某种程度上被修改。

如果该区域不使用特定的class,所有其它属性都可以通过具体定义里一个简单的修改而被修改或添加

...

/areas/<area name>/availableComponents节点使组件在区域内可用。此节点只能被在区域内可用。此节点只能在listsingle区域类型使用。它配置一个组件的内容地图,这些组件是通过读取使用区域里使用,用来配置组件的一个内容映射,这些组件是通过读取使用Node2Bean机制写进Java Bean的配置来建立的。

...

  • 组件定义通常在STK > 模板定义 /components里配置,在这里设置为对模板原型可用。
  • 每个组件都是在一个子内容节点下配置的。
    • 通常情况下,内容节点名对应组件定义里的内容节点名,但这也并不是严格必须。通常情况下,内容节点名对应组件定义里的内容节点名,但这并不是严格规定的。
    • id属性以<module name>:<path to component definition>格式定义到组件定义的路径。这就允许从任何模块来添加组件,而不仅限于STK组件。这就可以实现从任何模块来添加组件,而不仅限于STK组件。
  • 标准的一套组件在原型里对多数区域可用。只要不是在具体模板定义里配置了覆写或添加,相同的组件在所有模板里都可用。样例可参考标准的一套组件在原型里对多数区域都可用。只要不是在具体模板定义里配置了覆写或添加,相同的组件在所有模板里都可用。样例可参考extras区域base区域promos区域
  • 一个值得注意的例外情况是content区域。该区域使具体模板脱颖而出的方法是,使这几种不同的。该区域通过使这几种不同的组件类型可用:内容模板里的内容组件,主页和章节模板的要点,以及特性模板里的独特组件。因此,这些组件在具体的模板定义里被设置为可用,而在原型里却不可用。可用来区分具体模板:内容模板里的内容组件,主页和章节模板的要点,以及特性模板里的独特组件。因此,这些组件在具体的模板定义里设置为可用,而在原型里却不可用。

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

    prototype

     

    areas

     

    base

     

    availableComponents

     

    stkTeaserCarousel

     

    Paragraph

    id

    standard-templating-kit:components/teasers/stkTeaserCarousel

    catCloudWide

     

    Paragraph

    id

    categorization:components/catCloudWide

...