首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >玩!框架。模板“包括”

玩!框架。模板“包括”
EN

Stack Overflow用户
提问于 2012-08-01 16:48:53
回答 3查看 12.2K关注 0票数 9

我正在计划我的网站结构如下:

  • header.scala.html
  • XXX
  • footer.scala.html

现在,应该有一个特定的页面,而不是"xxx“(即"UsersView.scala.html")。

我需要的是将页脚和页眉的来源(比如众所周知的语言)包含到中间页的代码中。

所以我的问题是:

  1. 如何使用scala模板在另一个页面中包含一个页面?
  2. 你认为这是一个很好的游戏范例吗?基于框架的网站?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-01 17:02:17

一个常见的模式是创建一个模板,其中包含样板,并接受HTML类型的参数。让我们说:

main.scala.html

代码语言:javascript
代码运行次数:0
运行
复制
@(content: HTML)

@header
// boilerplate

@content

// more boilerplate
@footer

实际上,您并不需要使用这种方法分离页眉和页脚。

然后,您的UsersView.scala.html如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
@main {

// all your users page html here.

}

通过将UsersView作为参数传入,您正在使用main包装它。

您可以在样本中看到这方面的示例。

我通常的主模板有点复杂,大致如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
@(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>

通过这种方式,模板可以传递头部插入和标题,并使用户可用,当然还有内容。

票数 15
EN

Stack Overflow用户

发布于 2012-08-11 04:26:30

只需像方法一样调用另一个模板即可。如果您想包括footer.scala.html

@footer()

票数 33
EN

Stack Overflow用户

发布于 2015-12-29 15:39:17

播放提供了一个非常方便的方式来帮助实现这一点!

官方文件的版面部分:

首先,我们有一个base.html (即我们在django -_-中调用)

代码语言:javascript
代码运行次数:0
运行
复制
// 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?

代码语言:javascript
代码运行次数:0
运行
复制
@main(title = "Home") {

  <h1>Home page</h1>

}

更多信息这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11763912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档