带ceramic 的嵌套模板


问题内容

我希望有一些带有Magnetic patch的嵌套模板,但暂时没有任何运气。

我的主要模板:

[...]
<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>

我已经看到了tile网站上有关此主题的文档,但无法使其起作用


问题答案:

实际上,“ 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>