0

我对游戏框架(1.2.4)有一个小问题。我想让一个标签继承另一个标签,并将这个标签包含在扩展另一个网页的 html 页面中。最好的解释方法是使用模式:

通缉建筑

但是,它没有按我想要的方式工作。事实上,test.tag 文件中的extends 似乎覆盖了Screen.html 中的extends。然后,所有 Screen.html 的内容都包含在 block.tag 中,#{doLayout /}而不是包含在 main.html 中

有什么办法可以做我想做的事吗?谢谢。


这是来源:

main.html

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <body>
    #{doLayout /}
    </body>
</html>

屏幕.html

#{extends 'main.html' /}
<div id="Screen.html">
    #{test  /}
</div>

测试标签

#{extends 'tags/block.tag' /}
test.tag

块标签

<div id="test">
    #{doLayout /}
</div>

页面调用时生成的html

<div id="test">
    <div id="Screen.html">
        test.tag
    </div>
</div>

如您所见,main.html 不包含在内,而 Screen 包含在块中。有任何想法吗 ?


有关信息,想要的输出:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <body>
        <div id="Screen.html">
            <div id="test">
                test.tag
            </div>
        </div>
    </body>
</html>
4

2 回答 2

1

您可以尝试在模板中使用#{extends /},但不要在标签中使用它们。

为了在另一个之上构建标签有更大的灵活性,你可以这样做:

测试标签:

#{block }
test.tag
#{/block}

和block.tag:

<div id="test">
#{doBody /}
</div>

有了这个,你将身体的一部分从 test.tag 传递到 block.tag 并使用 #{doBody /} 将它插入到 block.tag 的某处

于 2013-03-01T07:35:32.830 回答
0

我认为这可能是由于 Groovy 引擎#{extends}在运行时进行评估,而screen.html调用test.tag又是 extends block.tag,这发生在屏幕的延伸到main.html运行时,groovy 决定最终的延伸获胜。

可能您想尝试在解析时评估语义的rythm 插件。extends这说明节奏在你的情况下没有问题。

于 2013-02-28T19:18:49.057 回答