我正在使用Velocity模板,我需要有多个页面需要遵循相同的模板样式,比如说“about_me”,“contact_us”和“home”,所有这些页面都有相同的标题,左侧菜单和唯一不同的是内容。 例如,除了<中的一个之外,所有这些的HTML都是完全相同的。 div id =“page-content”>。
<html>
<head>
.. some common css and js
</head>
<body>
<div id="main-content">
<div id="header">
Main Menu Bar on top
</div>
<div id="left-menu">
Menus on the left
</div>
<div id="page-content">
I could be contact us, or home or about us.
</div>
</div>
</body>
</html>
我所做的一种方法是为标题和侧面菜单分别使用.vm文件,然后在aboutus.vm,contactus.vm和home.vm中导入它们,但是我有很多重复的代码。有没有办法将所有内容定义为模板,只有“页面内容”,在我的.vm文件中定义?
答案 0 :(得分:3)
您可以在页面中间解析速度文件,并将模板名称定义为变量。这样你可以为每个
指向不同的page-content.vm文件在下面的示例中,$ contentTemplate可以等于以下任何一项:
见下文
<html>
<head>
.. some common css and js
</head>
<body>
<div id="main-content">
<div id="header">
Main Menu Bar on top
</div>
<div id="left-menu">
Menus on the left
</div>
<div id="page-content">
#parse($contentTemplate)
</div>
</div>
</body>
</html>