用Lift改变<title>

Joa*_*ert 4 scala dynamic lift title

是否可以动态切换Lift提供的页面的标题,而无需为该特定情况编写额外的片段?

一个选项当然是,<lift:mySnippet><title>Default Title</title></lift:mySnippet>但我认为可能有一个选项<head_merge><title>New Title</title></head_merge>(插入第二个标题节点).

我不喜欢第一种方法,因为我不想将所有标题生成逻辑都放在一个片段中,并询问我在哪个页面等等.

ten*_*shi 8

你试过使用模板吗?

您可以templates-hidden/default.html像这样定义模板:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:lift="http://liftweb.net/">

    <head>
        <title>
            <lift:bind name="title" />
        </title>

        ...
    </head>

    <body>
        <lift:bind name="content" />
    </body>
</html> 
Run Code Online (Sandbox Code Playgroud)

并在index.html例如使用它:

<lift:surround with="default">
    <lift:bind-at name="title">Home</lift:bind-at>
    <lift:bind-at name="content">
        my content
    </lift:bind-at>
</lift:surround>
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到有关模板的更多信息:

http://www.assembla.com/spaces/liftweb/wiki?id=liftweb&wiki_id=Templates_and_Binding

  • 如果您在Lift中使用HTML5支持,则需要将default.html更改为使用<title class ="lift:Menu.title">%*%</ title>,因为HTML5不支持标题元素. (2认同)