Versions Compared

Key

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

...

这些模板可供编辑者在页面应用里选择使用。它们可以出现在页面应用的模板域里,只需要:下拉菜单里,只需要:

  • 通用属性里,visible属性设置为true
  • 模板在模板在企业版的缺省网站定义或企业版里任意其他网站定义里可用。网站定义或其他网站定义里设置为可用。
  • 编辑者的权限已经足够获取特定的模板了。基于role的限制可利用原型里的编辑者的权限已经可以获取特定的模板了。如要通过角色来限制权限,可在原型里的/availability/<template name>/roles节点来添加。节点下配置。

可用的模板在不同的页面级别是不同的。例如,不同的页面级别可用的模板是不同的。例如,级别1可用stkHomestkRedirect在级别1可用,而stkRedirect,而级别2则可用stkSection和其他的则在级别2可用等。以下的和其他的模板。以下的类别和子类有关于如何实现网站层级的更多信息。有更多关于如何实现网站层级的信息。

所有具体的页面模板都是基于模板原型的。原型包含了缺省结构和行为,以及具体的对原型配置的例外,添加物,以及覆写的定义。参考的。原型包含了缺省结构和行为,具体模板则定义了对原型配置的例外、添加物和覆写。参考模板合并里的样例以了解它是如何工作的。里的样例来了解它是如何工作的。

为了能让系统识别,模板定义里的配置结构需要与模板原型里相应的配置一样。比较模板原型(prototype)和以下为了能使系统识别,模板定义里的配置结构需要与模板原型里相应的配置一样。比较模板prototype下面的stkEvent模板里关于infoBlock区域的配置,注意两者的节点结构是相同的。

Section
Column
width33%

模板原型

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

default

 

templates

 

prototype

 

areas

 

main

 

areas

 

intro

 

areas

 

infoBlock

 
Column
width33%

模板定义

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

stkEvent

 

areas

 

main

 

areas

 

intro

 

areas

 

infoBlock

 
Column
width33%

 

为使模板独一无二,您可以在模板定义里:为了使模板具有唯一性,您可以在模板定义里:

  • 覆写原型里的大多数属性和内容节点配置。
  • 为原型配置添加物。添加物为原型里所没有的新配置,能够添加功能,区域,组件,以及其他特性。为原型配置添加物。添加物为原型里所没有的新配置,能够添加功能、区域、组件以及其他特性。

没有硬性的快速规则。在典型安装里,模板原型里应包含的配置,与具体模板相比,是一个较为实用而非技术化的选择。配置模板没有硬性的快速规则。一个典型安装里模板原型包含的配置,与具体模板相比,只是一个较为实用而非技术化的选择。

对原型的修改可以在以下级别进行:

  • 页面级,如引用一个新的templateScript。以下讨论的stkRedirect模板就是这样的一个例子。
  • 导航级,通过修改缺省导航配置或编写一个全新的。这通常不是必须的,但适用于特殊定制的模板。或编写一个全新的配置。这通常不是必须的,但可能适用于特别定制的模板。
  • 区域级,通过引用不同的脚本并改变区域行为。参考main区域main区域样例。
  • 变异形式级,通过为特定模板禁止区域,好让区域为特定变异形式绘制。参考变异形式级,在特定模板里禁止区域,这样区域只会在指定的变异形式绘制,而不会在其他变异形式绘制。参考移动性以了解这个选项是如何用在了解这个选项是如何用在stkHome模板的stage区域里的。
  • JavaScript和CSS级,通过引用不同的CSS表或JavaScript。此选项通常不是必须的,无论在原型还是具体模板定义里都不会使用,不过以下的JavaScript和CSS级,引用不同的CSS表或JavaScript。很少需要这种做法,无论原型还是具体模板定义都没有使用,不过CSS和JavaScript是一个配置样例。里有一个配置样例。

模板属性

多数模板属性是在具体模板级别分配的,它们能够区分不同的模板。多数模板属性是在具体模板级别分配的,能够区分不同的模板。

参考资料部分的页面>属性里有可用的模板属性的完整列表及其用法。里有一个完整的列表,包含了可用的模板属性及用法。

通用属性

模板原型里分配的唯一一个对所有具体模板都可用的属性是里分配的唯一一个所有具体模板都可用的属性是templateScript,它引用管理页面脚本,,用来引用管理页面脚本,即main.ftl

除了这一个例外,以下通用属性为所有STK模板所用:除此之外,所有STK模板都使用以下通用属性:

  • class节点里分配的STKPage定义基本模板定义。
  • modelClass节点里分配的STKPageModel为基本页面模型,提供页面级功能。它扩展是基本页面模型,提供页面级功能。它扩展了STKPage
  • 值为stk的renderType节点分配STKRenderer为STK专用绘制器,被所有STK模板(页面和组件)使用。
  • renderType节点下值为stk时,分配的STK专用绘制器,STKRenderer。所有STK模板(页面和组件)都可以使用这个绘制器。
  • i18nBasename节点下分配的国际化关键字,国际化关键字,info.magnolia.module.templatingkit.messages,在i18nBasename节点下分配。这也是指向包含STK翻译的消息包的关键字。。这也是STK翻译的消息包关键字。
  • visible属性设置为true,使编辑者在页面应用里可以选择该模板。设置为truevisible属性使模板在页面应用里对编辑者可用。

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

     pages

     

    stkArticle

     

    areas

     

    Paragraph

    bodyID

    article

    Paragraph

    category

    content

    Paragraph

    class

    info.magnolia.module.templatingkit.templates.pages.STKPage

    Paragraph

    dialog

    standard-templating-kit:pages/article/stkArticleProperties

    Paragraph

    i18nBasename

    info.magnolia.module.templatingkit.messages

    Paragraph

    modelClass

    info.magnolia.module.templatingkit.templates.pages.STKPageModel

    Paragraph

    renderType

    stk

    Paragraph

    subcategory

    article

    Paragraph

    title

    templates.stkArticle.title

    Paragraph

    visible

    true

...

  • stkGlossary模板使用它自己的modelClassGlossaryTemplateModel,来扩展STKPageModel<STKPage>,完成字母序排列的术语表,即GlossaryTemplateModel,这个模型类通过扩展STKPageModel<STKPage>来完成按字母排序的词汇表。

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

     pages

     

    stkGlossary

     

    areas

     

    Paragraph

    bodyID

    glossary

    Paragraph

    category

    feature

    Paragraph

    class

    info.magnolia.module.templatingkit.templates.pages.STKPage

    Paragraph

    dialog

    standard-templating-kit:pages/glossary/stkGlossaryProperties

    Paragraph

    i18nBasename

    info.magnolia.module.templatingkit.messages

    Paragraph

    modelClass

    info.magnolia.module.templatingkit.templates.GlossaryTemplateModel

    Paragraph

    renderType

    stk

    Paragraph

    subcategory

    glossary

    Paragraph

    title

    templates.stkGlossary.title

    Paragraph

    visible

    true
  • stkRedirect模板使用它自己的:
    • modelClassRedirectTemplateModel用于扩展STKPageModel并提供3个交替的重定向模式,这三个模式取决于编辑者设置的path值:,这个模型类扩展了STKPageModel,并提供3个可选的重定向模式。编辑者可以通过以下方式之一设置path值来选择模式:
      • 如果在对话框里输入了内部路径或外部URL,用户将会直接被重定向过去。为避免写入响应,绘制步骤会被跳过。
      • 如果没有输入路径,那么页面会重定向至找到的第一个子页面。这有利于直接显示一个在重定向树的二级或三级定义的页面。
      • templateScript:

      • 如果在对话框里输入了内部路径或外部URL,用户将会直接被重定向过去,绘制被跳过,以避免写入响应。
      • 如果没有输入路径,那么页面重定向至找到的第一个子页面。这对于直接显示一个在重定向树的二级或三级定义的页面是很有用的。
      • templateScriptredirectMain.ftl在页面上正确地绘制路径。您可以在,在页面上绘制合适的路径。您可以在STK > 模板 /templating-kit/pages/functional/redirectMain.ftl里查看脚本。

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

         pages

         

        stkRedirect

         

        areas

         

        Paragraph

        bodyID

        redirect

        Paragraph

        category

        functional

        Paragraph

        class

        info.magnolia.module.templatingkit.templates.pages.STKPage

        Paragraph

        dialog

        standard-templating-kit:functional/stkRedirect

        Paragraph

        i18nBasename

        info.magnolia.module.templatingkit.messages

        Paragraph

        modelClass

        info.magnolia.module.templatingkit.templates.RedirectTemplateModel

        Paragraph

        renderType

        stk

        Paragraph

        subcategory

        redirect

        Paragraph

        templateScript

        /templating-kit/pages/functional/redirectMain.ftl

        Paragraph

        title

        templates.stkRedirect.title

        Paragraph

        visible

        true

在页面编辑器里,页面上绘制到内部或外部重定向的路径,但在预览里,则由目标页面绘制。在页面编辑器里,页面显示到内部或外部重定向的路径,但在预览里,则显示目标页面。/demo-project/service/m5-campaign页面基于页面使用的是stkRedirect模板。

模板特定属性

以下属性因每个模板而不同:

  • bodyID:这是专为模板的样式准备的CSS表所用的标签。参考:这是模板专有样式的CSS表所用的标签。参考Body类和ID以获得更多信息。bodyIDsubcategory值常常会一致,但它们彼此之间没有相通的关系。subcategory值常常会一致,但它们彼此之间没有依赖关系。
  • categorysubcategory:每个模板都会被分配一个类别,大多数也会被分配一个子类。类别被用在很多场合,参考下面的:每个模板都会分配到一个类别里,同时大多数模板也会分配到子类。很多场合都使用了类别,参考类别和子类
  • dialog:每个页面模板会连接到它自己的stk<Template name>Properties对话框,这个对话框在STK > 对话框定义 /pages里配置。每个页面顶部工具栏里的里配置。页面顶部工具栏里的属性按钮可以打开此对话框,用来控制浏览器标题和导航标题及行为,页面管理数据(关键字和描述),变异排除和页面依赖性。详细信息参看按钮可以打开此对话框,控制浏览器标题和导航标题及行为,页面元数据(关键字和描述),变异形式排除和页面依赖性。详细信息参看属性对话框
  • title:在页面应用的模板域里显示的模板标题。下拉菜单里显示的模板标题。

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

     pages

     

    stkImageGallery

     

    areas

     

    Paragraph

    bodyID

    image-gallery

    Paragraph

    category

    feature

    Paragraph

    class

    info.magnolia.module.templatingkit.templates.pages.STKPage

    Paragraph

    dialog

    standard-templating-kit:pages/imageGallery/stkImageGalleryProperties

    Paragraph

    i18nBasename

    info.magnolia.module.templatingkit.messages

    Paragraph

    modelClass

    info.magnolia.module.templatingkit.templates.pages.STKPageModel

    Paragraph

    renderType

    stk

    Paragraph

    subcategory

    imageGallery

    Paragraph

    title

    templates.stkImageGallery.title

    Paragraph

    visible

    true

extends属性extends属性

Magnolia CMS使用扩展机制被用来最小化配置。该机制类似单个模板定义和原型定义之间的关系,只不过它很直观。只有修改,例外,和添加物才在扩展配置中配置,其他所有配置都照搬基本配置。来最小化配置。这个机制类似于单个模板定义和原型定义之间的关系,只不过它很直观。扩展配置中只配置修改、例外和添加物,其他所有配置都照搬基本配置。

内容模板,也就是stkLargeArticlestkNewsstkEventstkGlossaryTerm,都是组成基本配置的,都是在stkArticle模板的扩展。您可以使用此机制轻松创建与缺省的STK模板类似的定制模板。模板基本配置上的扩展。您可以使用此机制轻松创建与缺省STK模板类似的定制模板。

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

 pages

 

stkArticle

 

stkLargeArticle

 

stkNews

 

areas

 

Paragraph

dialog

standard-templating-kit:pages/news/stkNewsProperties

Paragraph

extends

/modules/standard-templating-kit/templates/pages/stkArticle

Paragraph

subcategory

news

Paragraph

title

templates.stkNews.title

相似地,/pages/demo-features里的模板都是stkSection模板的扩展。这些模板展示了您可以通过配置来改变页面布局的多种途径。您可以在模板的扩展。这些模板展示了通过配置来改变页面布局的多种途径。您可以在demo-features站点的Section Variations里看到。

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

 pages

 

demo-features

 

stkSectionNoExtras

 

areas

 

Paragraph

extends

/modules/standard-templating-kit/templates/pages/stkSection

Paragraph

title

Section no Extras

stkSectionNoHeader

 

stkSectionFloating

 

extends属性也可被设置为extends属性也可设置为override来覆写部分扩展配置。参考以下的来覆写部分扩展配置。参考使组件可用中的样例。

Tip

模板合并是一个自动化的过程,不依赖于扩展机制模板定义里不能使用extends=override属性不能被用在模板定义里来修改模板原型。属性来修改模板原型。

类别和子类

每个STK页面模板都属于一个类别,除stkHomestkRedirect以外的所有模板都有一个子类(subcategory)。类别使您能够控制模板可被用在网站上的什么位置。如果一个模板类别不被允许在网站结构的指定位置出现,它将不会对编辑者可用。分类机制因此确保了模板分配的一致性,并使您的网站有一个可控的结构。

...