Есть ли шаблон для группировки шаблонов через включения?
Я создаю новый проект, и я бы хотел, чтобы некоторые из моих помощников назвали пространство для глаз. Этими помощниками являются "template.html файлы". В настоящее время я звоню им по обычной схеме:
<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. Возможно, я просто неправильно его подключил, но кто-нибудь знает, возможно ли это?
благодарю вас,
Броди
1 ответ
Из спецификации HTL:
Когда шаблоны находятся в отдельном файле, они могут быть загружены с хитрым использованием данных
Вы уже делаете это в вашем рабочем примере с data-sly-use
а также data-sly-call
в вашем main.html
к data-sly-template
в вашем template.html
, Вам просто нужно сделать это еще раз в вашем 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
не так кратко, как вы, вероятно, хотели.