Page History
...
大多数区域在原型里是使能的,因此需要在特定的模板定义里禁用,改变默认设置。您可以将/areas/<area name>
内容节点下的enabled
属性节点值设置为false
来做到。另一方面,类似stage
或platform
的区域由于很少使用,所以在原型里是不使能的。这种情况就需要设置的区域由于很少使用,所以在原型里是不使能的,这种情况就需要设置enabled
属性值为true
来改变。
使能或禁用区域:使能或禁用区域,将会:
决定整个区域绘制或不绘制,无论区域包含诸如组件的内容,自动生成的内容,还是脚本绘制的内容。内容会保留在内容库中,并且当一个之前被禁用的区域被重新使能后,将会再次绘制。您可以通过在决定整个区域是否绘制,无论区域包含的是组件,自动生成的内容,还是脚本绘制的内容。内容会保留在内容库中,并且在一个被禁用的区域重新使能后,将会再绘制。您可以在
stkArticle
模板上禁用extras
,并在工具 > > JCR里查看任何文章页来验证。里查看任意文章页来验证。Section Column width 33% 模板定义
Advanced Tables - Table Plus heading 0 multiple false enableHeadingAttributes false enableSorting false class m5-configuration-tree enableHighlighting false 节点名 值 stkArticle
areas
extras
enabledParagraph false
bodyIDParagraph article Column width 33% JCR浏览器(网站)
Advanced Tables - Table Plus heading 0 multiple false enableHeadingAttributes false enableSorting false class m5-configuration-tree enableHighlighting false 节点名 值 demo-project
about
subsection-articles
article
extras
extras1
0
00
- 将会对模板扩展与对基本模板有同样的效果。例如,如果您在对扩展模板与基本模板有着同样的作用。例如,如果您在
stkArticle
上禁用extras
,这样将会在所有内容模板上都禁用该区域。添加,所有内容模板上都会禁用该区域;要在您的扩展模板上使能该区域,需要在扩展模板上添加enabled
属性并在您想要包含该区域的模板扩展上将其设置为属性并设置为true
,就可以修改了。。 - 可能影响页面布局。以下是一些样例,样例中的结果主要是由于页面排列和内容包装的方法造成的。可能会影响页面布局。以下的结果主要是由于页面排列和内容包装的方法造成的。这里是一些样例:
- 当
extras
被禁用时,main
区域会展开,以使用可用空间。区域会展开占用所有的可用空间。 - 当
promos
被禁用时,可用空间里什么都不会绘制。被禁用时,原本它占用的可用空间里什么都不会绘制。 - 当
base
,、stage
,或是或是sectionHeader
被禁用时,内容会上移绘制,就像被禁用的区域不存在一样。同样的行为也发生在区域被使能但不包含任何内容的预览模式里。下面的截图为禁用了被禁用时,内容会上移显示,就像被禁用的区域不曾存在一样。区域在使能但不包含任何内容时,预览模式里也会发生同样的情况。下面的截图为禁用了stage
的stkHome
模板。
- 当
- 当浮显(
floating
)在main
区域里被使能,并列数设置为当main
区域里使能浮显(floating
),并且将columns
设置为2
时,main
区域里的第二列只会在extras
被禁用时绘制。下面的截图展示了基于/demo-features/stkSectionFloating
模板的demo-features/section-variations/floating
页面。
- 当浮显(
添加区域
在模板定义里,您可以添加模板原型里没定义的区域。在模板定义里,您可以添加模板原型里没有的区域。以下的例子里,stkSection
模板的main区域会创建一个新的嵌套区域,区域会创建一个新的嵌套区域,即opener
区域。
以下对原型配置的修改与新的新的opene
r区域有关:r区域通过下列对原型配置的修改实现:
/areas/main
节点:- 使用它自己的类,
SectionMainArea
,用来定义,来定义opener
区域属性。 - 由
/section/mainArea.ftl
脚本绘制,该脚本与缺省的脚本绘制。该脚本与默认使用的/global/mainArea.ftl
脚本除了使用脚本唯一的不同在于,它使用[@cms.area name="opener"/]
标签添加了opener
区域外完全相同。区域。 /areas/main/areas/opener
节点:- 配置新配置
opener
区域。 - 是一个只能绘制一个组件的
single
区域。 - 是
enabled
和optional
的,意味着它虽然可用,但编辑者可能会选择删除它。 - 由
/section/opener.ftl
这个标准的single
区域脚本绘制。 使
stkTeaserOpener
组件在availableComponents
节点里可用。在availableComponents
节点里设置stkTeaserOpener
组件可用。Advanced Tables - Table Plus heading 0 multiple false enableHeadingAttributes false enableSorting false class m5-configuration-tree enableHighlighting false 节点名 值 stkSection
areas
main
floating
areas
intro
opener
availableComponents
stkTeaserOpener
idParagraph standard-templating-kit:components/teasers/stkTeaserOpener
descriptionParagraph areas.templates.main.opener.description
enabledParagraph true
optionalParagraph true
templateScriptParagraph /templating-kit/pages/section/opener.ftl
titleParagraph areas.templates.main.opener.title
typeParagraph single content
classParagraph info.magnolia.module.templatingkit.templates.SectionMainArea
templateScriptParagraph /templating-kit/pages/section/mainArea.ftl
使能浮显
浮显就意味着该区域内的组件在指定数目的列里绘制。缺省情况下,浮显在浮显(floating)是指该区域内的组件在指定数目的列里绘制。默认情况下,浮显在stkHome
和stkSectionFloating
模板的main
区域内是使能的。demo-project
主页和的主页和demo-features/section-variations/floating
页面就是建立在这些模板之上的。这里就是页面就使用了这两个模板。下图显示了demo-project
主页的main
区域。
浮显是在模板定义的<template name>/areas/main
内容节点里配置的。在STK > 模板定义 /pages/stkHome
的stkHome
模板下:模板里:
/areas/main:
- 使用
SectionMainArea
类定义浮显属性。 - 由
section/MainArea.ftl
脚本绘制,简单的绘制所有嵌套区域。 areas/main/floating
里::enabled
节点被设置为节点设置为true
来使能浮显。您可以将此属性设置为false
来禁用。- 列数设置为
columns
设置为3
,告诉Magnolia CMS在三列中绘制组件。可用的选项有CMS在三列中绘制组件。此属性可用的选项有1
,2
,和3
。由于其他嵌套区域都被禁用,只有在/areas/main/areas/content/availableComponents
节点下可用的组件会在main
区域里绘制。 areas/main/areas/content
:- 使一些要点组件在
/availableComponents
节点里可用。这些组件被配置在一个浮显区域内工作(参看下表)。节点里可用。这些组件被配置在一个浮显区域内工作(见下表)。 - 由
section/contentArea.ftl
脚本绘制。该脚本包含绘制teaserCount
的代码(参看下表)。的代码(见下表)。 /areas/main/areas/intro
,/opener
和/breadcrumb
被禁用了,意味着在此模板上,浮显只出现在/areas/main/areas/content
里。禁用其他嵌套区域不是严格必须的。里。您并不一定需要禁用其他嵌套区域。/areas/extras被禁用,以确保此页解析到一个allowedBodyClass
里(参看下表)。extras
被禁用,以确保此页解析到一个allowedBodyClass
里(见下表)。Advanced Tables - Table Plus heading 0 multiple false enableHeadingAttributes false enableSorting false class m5-configuration-tree enableHighlighting false 节点名 值 stkHome
areas
main
floating
columnsParagraph 3
enabledParagraph true areas
content
availableComponents
templateScriptParagraph /templating-kit/pages/section/contentArea.ftl
titleParagraph templates.stkHome.areas.main.content.title intro
classParagraph info.magnolia.module.templatingkit.templates.MainAreaIntro
enabledParagraph false opener
breadcrumb
classParagraph info.magnolia.module.templatingkit.templates.SectionMainArea
templateScriptParagraph /templating-kit/pages/section/mainArea.ftl extras
inheritance
classParagraph info.magnolia.module.templatingkit.templates.ExtrasArea
enabledParagraph false
缺省情况下,您可以扩展默认情况下,您可以扩展stkHome
和stkSection
模板来配置一个浮显模板,因为它们都使用模板来配置一个浮显模板,这是因为它们都使用SectionMainArea
类和要点组件。其它的场景需要定制。类和要点组件。其它的场景则需要定制。STK > 模板定义 /pages/demo-features/stkSectionFloating
里的stkSectionFloating
模板就是扩展stkSection
模板的一个例子:模板的一个例子,它:
- 此模板在在
stkSectionFloating/extends
节点下扩展stkSection
模板。通过扩展: - 合适的要点组件在需要的要点组件在
/areas/main/content/availableComponents
节点下可用。 - 使用
SectionMainArea
类。类得到使用。 - 在
/areas/main/floating
节点,floating
被使能且列数设置为被使能且columns
设置为2
。 - 在
/areas/main/areas
节点,intro
和opener
区域被禁用。 在
/areas/extras
节点,extras
区域被禁用。Advanced Tables - Table Plus heading 0 multiple false enableHeadingAttributes false enableSorting false class m5-configuration-tree enableHighlighting false 节点名 值 pages demo-features
stkSectionFloating
areas
main
floating
columnsParagraph 2
enabledParagraph true areas
intro
enabledParagraph false opener
enabledParagraph false extras
inheritance
classParagraph info.magnolia.module.templatingkit.templates.ExtrasArea
enabledParagraph false base
extendsParagraph /modules/standard-templating-kit/templates/pages/stkSection
titleParagraph Section Floating
这就是基于这是基于stkSectionFloating
模板的公共实例上的模板的demo-features/section-variables/floating
页。该页解析到页在公共实例上的样子。该页解析到body
元素里包含的一个属性(attribute)元素里包含的一个属性(attribute),即allowedBodyClass=nav-col-float2
里。main
区域的每个要点都被包在一个DIV元素内。区域的每个要点都包装在一个DIV元素内。
为确保浮显被使能后组件能够正确绘制,需要考虑以下几点因素:为确保浮显使能后组件能够正确绘制,需要考虑以下几点因素:
BodyClassResolver
Java类自动解析此页的bodyClass
。区域应在需要时被使能或禁用,以确保页面解析到一个allowedBodyClass
。参看。更多信息参看body类以获得更多信息。。- CSS表单引用此
bodyClass
以保证正确的样式。 - 当浮显列数被配置后,配置了浮显列数以后,
teaserCount
会告诉Magnolia CMS哪里可以绘制每个要点。参看告诉Magnolia CMS哪里可以绘制每个要点。更多信息参看Teaser IDs以获得更多信息。。 - 每个要点定义的配置都有一个
divId
和一个divIdPrefix
属性来辅助属性,以辅助teaserCount
。 - 单个组件脚本里的FreeMarker代码分配一个要点ID和单个组件脚本里的FreeMarker代码分配一个要点ID,然后由
section/contentArea.ftl
脚本来在此区域里绘制脚本在此区域里绘制teaserCount
。
变异形式
变异形式用于某些特定用途,例如重新设计智能手机和平板这样的设备的内容格式,或已登录用户组的特定输出等。参看移动里关于演示站点里用到的智能手机变异形式样例的详细讨论,以及通知里关于此核心功能的更多信息。
...