是否有通过包含对模板进行分组的模式?
Is there a pattern for grouping templates via includes?
我正在创建一个新项目,我想为我的一些助手命名空间。这些帮手是"template.html files"。我目前正在使用以下正常模式给他们打电话:
<sly data-sly-use.MyHelper='MyHelper.html' data-sly-call="${MyHelper.tmpl @ args..}"/>
我对 Sightly 的欣赏是我可以做这样的事情:
templates.html
<template data-sly-template.one>1</template>
<template data-sly-template.two>2</template>
main.html
<sly data-sly-use.tmpls="templates.html"/>
one: <sly data-sly-call=${tmpls.one}/>
two <sly data-sly-call=${tmpls.two}/>
我想设置的是:
library.html(包括更多模块化模板功能)
<sly data-sly-import="one.html"/>
<sly data-sly-import="two.html"/>
main.html(导入库)
<sly data-sly-use.libs="library.html"/>
one: <sly data-sly-call=${libs.one}/>
two <sly data-sly-call=${libs.two}/>
我已经尝试了后者的几个变体,看看是否已经有支持的 OTTB。也许我只是把它挂错了,但有人知道这是否可能吗?
谢谢,
布罗迪
来自HTL Spec:
When templates are located in a separate file, they can be loaded with data-sly-use
您已经在工作示例中使用 main.html
中的 data-sly-use
和 data-sly-call
以及 template.html
中的 data-sly-template
执行此操作。您只需要在 library.html
.
中再做一次
main.html(导入库)
<sly data-sly-use.libs="library.html"/>
one: <sly data-sly-call=${libs.one}/>
two <sly data-sly-call=${libs.two}/>
library.html(包括更多模块化模板功能)
<template data-sly-template.one>
<div data-sly-use.one="one.html" data-sly-call="${one.one}"></div>
</template>
<template data-sly-template.two">
<div data-sly-use.two="two.html" data-sly-call="${two.two}"></div>
</template>
one.html
<template data-sly-template.one>this is one</template>
two.html
<template data-sly-template.two>this is two</template>
这将允许您通过一个 data-sly-use
表达式导入所有助手,同时按照您的要求将助手模板保存在单独的文件中,即使中间 library.html
不是那么简洁如您所愿。
我正在创建一个新项目,我想为我的一些助手命名空间。这些帮手是"template.html files"。我目前正在使用以下正常模式给他们打电话:
<sly data-sly-use.MyHelper='MyHelper.html' data-sly-call="${MyHelper.tmpl @ args..}"/>
我对 Sightly 的欣赏是我可以做这样的事情:
templates.html
<template data-sly-template.one>1</template>
<template data-sly-template.two>2</template>
main.html
<sly data-sly-use.tmpls="templates.html"/>
one: <sly data-sly-call=${tmpls.one}/>
two <sly data-sly-call=${tmpls.two}/>
我想设置的是:
library.html(包括更多模块化模板功能)
<sly data-sly-import="one.html"/>
<sly data-sly-import="two.html"/>
main.html(导入库)
<sly data-sly-use.libs="library.html"/>
one: <sly data-sly-call=${libs.one}/>
two <sly data-sly-call=${libs.two}/>
我已经尝试了后者的几个变体,看看是否已经有支持的 OTTB。也许我只是把它挂错了,但有人知道这是否可能吗?
谢谢,
布罗迪
来自HTL Spec:
When templates are located in a separate file, they can be loaded with data-sly-use
您已经在工作示例中使用 main.html
中的 data-sly-use
和 data-sly-call
以及 template.html
中的 data-sly-template
执行此操作。您只需要在 library.html
.
main.html(导入库)
<sly data-sly-use.libs="library.html"/>
one: <sly data-sly-call=${libs.one}/>
two <sly data-sly-call=${libs.two}/>
library.html(包括更多模块化模板功能)
<template data-sly-template.one>
<div data-sly-use.one="one.html" data-sly-call="${one.one}"></div>
</template>
<template data-sly-template.two">
<div data-sly-use.two="two.html" data-sly-call="${two.two}"></div>
</template>
one.html
<template data-sly-template.one>this is one</template>
two.html
<template data-sly-template.two>this is two</template>
这将允许您通过一个 data-sly-use
表达式导入所有助手,同时按照您的要求将助手模板保存在单独的文件中,即使中间 library.html
不是那么简洁如您所愿。