SilverStripe 布局和模板
SilverStripe layout and templates
给出下面的代码
Test.ss(在模板中)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
Templates
$Layout
</body>
</html>
Test.ss(布局中)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Layout</title>
</head>
<body>
Layout
</body>
</html>
SilverStripe 中的输出:
模板
布局
我的问题是 SilverStripe 是否在布局中剥离了 html 标签?
不,SilverStripe 不会从您的布局模板中删除 html 标签。您模板中的 html 将按原样打印。
因此您的示例模板将产生以下 html 输出:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
Templates
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Layout</title>
</head>
<body>
Layout
</body>
</html>
</body>
</html>
您可以通过查看您的页面源代码自行查看。在 chrome 中 URL 将是 view-source:http://your-website-url
避免在 layout
模板中使用 html
、head
和 body
标签,因为这在主模板中得到处理。
相反,您的 template/layouts/test.ss
文件应如下所示:
<p>Layout</p>
用你原来的 template/test.ss
这会给你一个输出:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
Templates
<p>Layout</p>
</body>
</html>
给出下面的代码
Test.ss(在模板中)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
Templates
$Layout
</body>
</html>
Test.ss(布局中)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Layout</title>
</head>
<body>
Layout
</body>
</html>
SilverStripe 中的输出:
模板 布局
我的问题是 SilverStripe 是否在布局中剥离了 html 标签?
不,SilverStripe 不会从您的布局模板中删除 html 标签。您模板中的 html 将按原样打印。
因此您的示例模板将产生以下 html 输出:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
Templates
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Layout</title>
</head>
<body>
Layout
</body>
</html>
</body>
</html>
您可以通过查看您的页面源代码自行查看。在 chrome 中 URL 将是 view-source:http://your-website-url
避免在 layout
模板中使用 html
、head
和 body
标签,因为这在主模板中得到处理。
相反,您的 template/layouts/test.ss
文件应如下所示:
<p>Layout</p>
用你原来的 template/test.ss
这会给你一个输出:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
Templates
<p>Layout</p>
</body>
</html>