我有一个特别是使用样式表的页面,但我网站中的其他页面都没有使用它,因此我不想将它放在全局main.scala.html文件中,因为所有页面都会引用它。如何在play框架中创建一个IF语句来说明当testpage.html处于活动状态时,使用teststylesheet.css?
答案 0 :(得分:2)
根据the official docs,您可以使用 moreScripts和moreStyles等效 方法:
@(title: String, css: Html = Html(""), scripts: Html = Html(""))(content: Html)
<!-- language: lang-html -->
<!DOCTYPE html>
<html>
<head>
<title>@title</title>
<!-- common stylesheets <link rel="stylesheet"> -->
@css
<!-- common scripts -->
<script src="xyz.js")
@scripts
</head>
<body>
@content
</body>
</html>
并在子模板中
@css = {
<link rel="stylesheet" media="screen" href='@routes.Assets.at("stylesheets/teststylesheet.css")'>
}
@scripts = {
<script src='@routes.Assets.at("javascripts/test.js")' type="text/javascript"></script>
}
@main("title", css, scripts) {
<div class="bodyOfView">rest of templating...</div>
}
其他选项使用单独的布局,其中只包含指定页面所需的JS / CSS。
答案 1 :(得分:1)
在main.scala.html中找出我需要的东西:
@if(activeMenu.equals("pricing")){
<link rel="stylesheet" href="@routes.Assets.at("stylesheetname.css")">}