3

我正在使用 Velocity 模板,我需要有多个页面需要遵循相同的模板样式,比如“about_me”、“contact_us”和“home”,所有这些页面都将具有相同的标题、左侧菜单和唯一不同的地方是内容。例如,除了 < div id="page-content" > 中的一个之外,所有这些 HTML 将完全相同。

<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 文件中定义“页面内容”?

4

1 回答 1

3

您可以在页面中间解析速度文件并将模板名称定义为变量。这样,您可以为每个指向不同的 page-content.vm 文件

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

  • 主页/page-content.vm
  • 关于/page-content.vm
  • 联系人/page-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>
于 2013-06-14T13:53:05.057 回答