速度模板包括主模板

时间:2013-06-13 21:19:41

标签: templates velocity

我正在使用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文件中定义?

1 个答案:

答案 0 :(得分:3)

您可以在页面中间解析速度文件,并将模板名称定义为变量。这样你可以为每个

指向不同的page-content.vm文件

在下面的示例中,$ contentTemplate可以等于以下任何一项:

  • 主页/页content.vm
  • 约/页-content.vm
  • 接触/页-content.vm

见下文

<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>