Вложенные шаблоны с плитками

Я хочу иметь несколько вложенных шаблонов с плитками, но пока без удачи.

Мой основной шаблон:

[...]
<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>
Другие вопросы по тегам