2016-08-16 6 views
2

Я создаю новый проект, и я хотел бы пропустить несколько моих помощников, чтобы увидеть их. Этими помощниками являются «файлы template.html». Я в настоящее время называя их с нормальным рисунком:Есть ли шаблон для группировки шаблонов через include?

<sly data-sly-use.MyHelper='MyHelper.html' data-sly-call="${MyHelper.tmpl @ args..}"/> 

Что я ценя о красивый является тот факт, что я могу сделать что-то вроде этого:


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 Spec:

Когда шаблоны расположены в отдельном файле, они могут быть загружены с данными-лукавой использования

Вы уже делаете это в своем рабочем примере с 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> 

2.HTML

<template data-sly-template.two>this is two</template> 

Это позволит вам импортировать все ваши помощники с помощью одного data-sly-use выражения, сохраняя при этом свои вспомогательные шаблоны в виде отдельных файлов так же, как вы просили, даже если посредник library.html не так лаконичен, как вы, вероятно, хотел ,

+0

Я действительно надеялся на решение, которое не связано с переопределением шаблонов в library.html. Но я думаю, что это единственный способ сделать это прямо сейчас. Я думаю, что в этот момент было бы полезно делать такие вещи, как определять шаблоны в одном файле и, возможно, включать в них частичные данные, необходимые в этих шаблонах. Затем назовите файлы соответствующим образом, например CommonUtils.html, JsonUtils.html и т. Д. И т. Д. И т. Д. Спасибо! – Brodie