我有一个页面,传递了一个id,从中确定了内容。我要做的是根据内容动态替换“chrome”页面。
因此,如果我有一个db记录“Book”,我想在模板隐藏中显示Book chrome。
感谢您的帮助,非常感谢:)
答案 0 :(得分:1)
您可以定义一个选择所需模板的代码段,并将包含模板选择的xhtml NodeSeq传递给它:
<lift:TemplateSnippet.dynamicTemplatePicking>
<lift:surround dynamic:template="" at="content">
<h2>some heading</h2>
<p>some text</p>
</lift:surround>
</lift:TemplateSnippet.dynamicTemplatePicking>
代码段:
class TemplateSnippet {
def dynamicTemplatePicking(xhtml :NodeSeq) :NodeSeq = {
bind("dynamic", xhtml, AttrBindParam("template", Text("default"), "with"))
}
}
通过更改代码段内"default"
中的Text("default")
,您可以根据需要选择其他模板。也许你想做def choose (record: Record) = record match { case b: Book => "booktemplate"}
之类的事情......等等......