Page History
STK具体页面模板和组件模板定义在STK > Template Definitions模板定义下配置。
Advanced Tables - Table Plus | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
...
页面定义
所有STK页面模板的具体模板定义都在STK > Template Definitions 模板定义 /pages
里配置。
Advanced Tables - Table Plus | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|
这些模板可供编辑者在Pages页面应用里选择使用。它们可以出现在Pages页面应用的Template模板域里,只需要:
在通用属性里,visible
属性设置为true
。- 模板在缺省网站定义或企业版里任意其他网站定义里可用。
- 编辑者的权限已经足够获取特定的模板了。基于
role
的限制可利用原型里的/availability/<template name>/roles
节点来添加。
...
class
节点里分配的STKPage
定义基本模板定义。modelClass节点里分配的STKPageModel
为基本页面模型,提供页面级功能。它扩展STKPage
。
为STK专用绘制器,被所有STK模板(页面和组件)使用。值为
stk的
renderType节点分配的
STKRenderer- 国际化关键字,
info.magnolia.module.templatingkit.messages
,在i18nBasename
节点下分配。这也是指向包含STK翻译的消息包的关键字。 设置为
true
的visible
属性使模板在Pages页面应用里对编辑者可用。Advanced Tables - Table Plus heading 0 multiple false enableHeadingAttributes false enableSorting false class m5-configuration-tree enableHighlighting false 节点名 值 pages
stkArticle
areas
bodyIDParagraph article
categoryParagraph content
classParagraph info.magnolia.module.templatingkit.templates.pages.STKPage
dialogParagraph standard-templating-kit:pages/article/stkArticleProperties
i18nBasenameParagraph info.magnolia.module.templatingkit.messages
modelClassParagraph info.magnolia.module.templatingkit.templates.pages.STKPageModel
renderTypeParagraph stk
subcategoryParagraph article
titleParagraph templates.stkArticle.title
visibleParagraph true
...
stkRedirect
模板使用它自己的:modelClass
:RedirectTemplateModel
用于扩展STKPageModel
并提供3个交替的重定向模式,这三个模式取决于编辑者设置的path
值:- 如果在对话框里输入了内部路径或外部URL,用户将会直接被重定向过去,绘制被跳过,以避免写入响应。
- 如果没有输入路径,那么页面重定向至找到的第一个子页面。这对于直接显示一个在重定向树的二级或三级定义的页面是很有用的。
templateScript
:redirectMain.ftl
在页面上正确地绘制路径。您可以在STK > 模板 Templates/templating-kit/pages/functional/redirectMain.ftl
里查看脚本。Advanced Tables - Table Plus heading 0 multiple false enableHeadingAttributes false enableSorting false class m5-configuration-tree enableHighlighting false 节点名 值 pages
stkRedirect
areas
bodyIDParagraph redirect
categoryParagraph functional
classParagraph info.magnolia.module.templatingkit.templates.pages.STKPage
dialogParagraph standard-templating-kit:functional/stkRedirect
i18nBasenameParagraph info.magnolia.module.templatingkit.messages
modelClassParagraph info.magnolia.module.templatingkit.templates.RedirectTemplateModel
renderTypeParagraph stk
subcategoryParagraph redirect
templateScriptParagraph /templating-kit/pages/functional/redirectMain.ftl
titleParagraph templates.stkRedirect.title
visibleParagraph true
...
bodyID
:这是专为模板的样式准备的CSS表所用的标签。参考Body类和ID以获得更多信息。bodyID
和subcategory值常常会一致,但它们彼此之间没有相通的关系。
category
和subcategory
:每个模板都会被分配一个类别,大多数也会被分配一个子类。类别被用在很多场合,参考下面的类别和子类。dialog
:每个页面模板会连接到它自己的stk<Template name>Properties
对话框,这个对话框在STK > Dialog Definitions 对话框定义/pages
里配置。每个页面顶部工具栏里的Properties属性按钮可以打开此对话框,用来控制浏览器标题和导航标题及行为,页面管理数据(关键字和描述),变异排除和页面依赖性。详细信息参看属性对话框。title
:在Pages页面应用的Template模板域里显示的模板标题。Advanced Tables - Table Plus heading 0 multiple false enableHeadingAttributes false enableSorting false class m5-configuration-tree enableHighlighting false 节点名 值 pages
stkImageGallery
areas
bodyIDParagraph image-gallery
categoryParagraph feature
classParagraph info.magnolia.module.templatingkit.templates.pages.STKPage
dialogParagraph standard-templating-kit:pages/imageGallery/stkImageGalleryProperties
i18nBasenameParagraph info.magnolia.module.templatingkit.messages
modelClassParagraph info.magnolia.module.templatingkit.templates.pages.STKPageModel
renderTypeParagraph stk
subcategoryParagraph imageGallery
titleParagraph templates.stkImageGallery.title
visibleParagraph true
...
您可以在模板定义里限制任意区域内可用组件的使用权。stkArticle
模板里有一个配置样例,限制了只有被分配了superuser
角色的用户可以使用stkHTML
组件。任何有着较少权限的用户都不可以使用该组件。此项配置在STK > Template Definitions > 模板定义 /pages/stkArticle/areas/main/areas/content/availableComponents/stkHTML
里:
...
决定整个区域绘制或不绘制,无论区域包含诸如组件的内容,自动生成的内容,还是脚本绘制的内容。内容会保留在内容库中,并且当一个之前被禁用的区域被重新使能后,将会再次绘制。您可以通过在
stkArticle
模板上禁用extras
,并在Tools > 工具 > 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
...
浮显是在模板定义的<template name>/areas/main
内容节点里配置的。在STK > Template Definitions 模板定义 /pages/stkHome
的stkHome
模板下:
...
缺省情况下,您可以扩展stkHome
和stkSection
模板来配置一个浮显模板,因为它们都使用SectionMainArea
类和要点组件。其它的场景需要定制。STK > Template Definitions 模板定义 /pages/demo-features/stkSectionFloating
里的stkSectionFloating
模板就是扩展stkSection
模板的一个例子:
...
组件是页面上最小的内容块。STK包括用于所有使用案例的组件,和从简单的文本组件到复杂的聚合要点等可用组件。单个组件在组件页上讨论。
组件定义在STK > 模板定义 Template Definitions /components
里配置。定义以文件夹的形式排列,文件夹名表示组件类型。
...
- 创建一个对话框。
- 创建一个组件定义。
- 创建一个组件脚本。
- 使组件对组件脚本可用。
组件可用于编辑者通过STK > Dialog Definitions对话框定义里配置的相关组件对话框输入内容。对话框定义通过对话框属性映射到组件定义里。
...
description
:指向组件描述的消息包关键字。dialog
:到对话框定义的路径,有着<module name>:<path to definition>
结构。大多数STK对话框都在STK > Dialog Defintions对话框定义下配置。118nBasename
:国际化关键字,info.magnolia.module.templatingkit.messages
,指向包含STK翻译的消息包。renderType
:值为stk时
分配的STKRenderer
是一个STK专用的绘制器,为所有的STK模板(页面和组件)所使用。templateScript
:指向绘制组件的脚本的路径。组件脚本在STK > Templates > 模板/templating-kit/components
下。title
:在组件工具栏里绘制的组件标题。deletable
决定组件是否能被删除。如果设置为false
,那么Delete component删除组件动作在动作栏里不可用。 4.5.9+moveable
决定组件是否能被移动。如果设置为false
,那么移动图标在组件工具栏里不绘制,并且Move component移动组件动作在动作栏里不可用。 4.5.9+writable
决定组件是否能被编辑。如果设置为
,那么编辑图标在组件工具栏里不绘制,并且Edit component编辑组件动作在动作栏里不可用。 4.5.9+false
参考资料 > 组件里有可用的组件模板属性以及它们的用法的完整列表。
...
internalPage.ftl
脚本绘制模型使能的目标内容的属性。以下为这个脚本的片段,该脚本在STK > Templates 模板 /templating-kit/components/teasers/interalPage.ftl
。
...
以下为newsList.ftl
脚本如何绘制divClass
,divIDPrefix
和headingLevel
属性的。您可以在STK >> 模板 Templates /templating-kit/components/teasers/newsList.ftl
获得此脚本。
...
- 子组件被分配到
/areas/<area name>/availableComponents
节点下。这里的节点结构与区域定义里使组件可用时使用的结构完全一致。 - 每个子组件都被分配到它自身的子内容节点下,使用与它的组件定义匹配的名字。
id
属性引用子组件,使用<module name>:<path to component>
结构。- 每个子组件都是在它自己的组件定义中分别配置。您可以在STK >> 模板定义 Template Definitions
/components/links
里查看这些。 主组件,嵌套区域和单个子组件都由它们自己的脚本绘制。
...
pureLinkList.ftl
脚本使用页面模板里绘制区域的相同代码来绘制主组件。脚本全文在STK > 模板 Templates /templating-kit/components/teasers/pureLinkList.ftl
下。这里为相关片段。
...
linkListArea.ftl
脚本使用[#list]
指令来绘制嵌套组件。脚本全文在STK > Templates 模板 /templating-kit/components/links/linkListArea.ftl
里。这里为相关片段。
...
stkExtrasContact
组件扩展要点组件,只修改divIDPrefix
和dialog
引用部分。stkExtrasContact
对话框也是stkTeaserContact
对话框的一个扩展,添加了Show in Subpage在子页面中显示域,允许子页面继承。您可以在STK > 对话框定义 Dialog Definitions /components/teasers/stkTeaserContact
和/extras/stkExtrasContact
里查看引用的对话框。更多信息可参考可继承组件。
...
组件定义与其他组件使用的配置方法,您可以在STK > Template Definitions 模板定义 /components/features
里查看。
下列所示的stkSiteMap
组件:
- 使用
SiteMapParagraphModel
,包含了业务逻辑,并使maxLevels
,showSiteMapRoot
,titleToUse
属性对脚本可用。 - 由
siteMap.ftl
脚本绘制,该脚本可在STK > Templates 模板/templating-kit/components/features/siteMap.ftl
找到。
...
当一个基于stkSiteMap
模板的页面被创建时,组件被使用区域定义(见下表)中配置的缺省值绘制。编辑者可以在STK > Dialog Definitions对话框定义 /components/features/stkSiteMap
下配置的stkSiteMap
组件对话框里修改这些缺省值。查看demo-project/service/site-map
页了解它是如何工作的。
...
在上面的对话框里,maxLevels
属性被设置为4
。这是因为模板定义里的缺省值3
在此页上已经被覆写了。新值4
被存在JCR中,您可以在Tools 工具 > JCR /demo-project/service/site-map/content/singleton
中验证。
...