我正在计划我的网站结构如下:
现在,应该有一个特定的页面,而不是"xxx“(即"UsersView.scala.html")。
我需要的是将页脚和页眉的来源(比如众所周知的语言)包含到中间页的代码中。
所以我的问题是::
发布于 2012-08-01 09:02:17
一个常见的模式是创建一个模板,其中包含样板,并接受HTML类型的参数。让我们说:
main.scala.html
@(content: HTML)
@header
// boilerplate
@content
// more boilerplate
@footer
实际上,您并不需要使用这种方法分离页眉和页脚。
然后,您的UsersView.scala.html如下所示:
@main {
// all your users page html here.
}
通过将UsersView作为参数传入,您正在使用main包装它。
您可以在样本中看到这方面的示例。
我通常的主模板有点复杂,大致如下所示:
@(title: String)(headInsert: Html = Html.empty)(content: Html)(implicit user: Option[User] = None)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>@title</title>
// bootstrap stuff here
@headInsert
</head>
<body>
@menu(user)
<div id="mainContainer" class="container">
@content
</div>
</body>
</html>
通过这种方式,模板可以传递头部插入和标题,并使用户可用,当然还有内容。
发布于 2012-08-10 20:26:30
只需像方法一样调用另一个模板即可。如果您想包括footer.scala.html
@footer()
发布于 2015-12-29 07:39:17
播放提供了一个非常方便的方式来帮助实现这一点!
官方文件的版面部分:
首先,我们有一个base.html (即我们在django -_-中调用)
// views/main.scala.html
@(title: String)(content: Html)
<!DOCTYPE html>
<html>
<head>
<title>@title</title>
</head>
<body>
<section class="content">@content</section>
</body>
</html>
如何使用base.html?
@main(title = "Home") {
<h1>Home page</h1>
}
更多信息这里
https://stackoverflow.com/questions/11763912
复制