Вложенные шаблоны с плитками
Я хочу иметь несколько вложенных шаблонов с плитками, но пока без удачи.
Мой основной шаблон:
[...]
<div id=body><tiles:insertAttribute name="body"/></div>
[...]
Мой вложенный шаблон:
[...]
<div id=sub><tiles:insertAttribute name="sub"/></div>
[...]
На мой взгляд определение:
<tiles-definitions>
<definition name="mainTemplate" template="/mainTemplate.jspx">
</definition>
<definition extends="mainTemplate" name="subTemplate">
<put-attribute name="body" value="/subTemplate.jspx"/>
</definition>
<definition extends="mainTemplate" name="myView">
<put-attribute name="sub" value="blablabla"/>
</definition>
</tiles-definitions>
Что я ожидал:
<div id=body><div id=sub>blablabla</div></div>
Что я имею:
<div id=body><div id=sub></div></div>
Я видел документацию на сайте, посвященную этой теме, но не могу заставить ее работать:(
1 ответ
Решение
На самом деле, "subTemplate" и "myView" - это два разных определения, расширяющих оба "mainTemplate". Из того, что я понимаю, вы хотите, чтобы плитка "myView" была вложена в плитку "subTemplate".
Вы можете попробовать что-то вроде этого:
<tiles-definitions>
<definition name="mainTemplate" template="/mainTemplate.jspx">
<definition name="subTemplate" extends="mainTemplate">
<put-attribute name="body">
<definition template="/subTemplate.jspx">
<put-attribute name="myView" value="blablabla" />
</definition>
</put-attribute>
</definition>
</tiles-definition>