冗余视图模板:1用于突出显示搜索,1用于浏览

时间:2009-08-02 08:43:38

标签: layout

目前我有2个不同的模板来显示产品:1用于一般浏览,1用于搜索结果。这很烦人,我必须管理2个模板,或多或少相同的布局。

原因是,搜索结果突出显示。我的高亮模板大致如下:


for each result 
  <h2> 
  if search has name 
    <em> result.name </em>
  else
    result.name
  end
  </h2>

  if search has price
    <em> result.price </em>
  else 
    ...
  end
 ...
end

我不想仅仅在产品页面上使用此视图来创建虚拟搜索变量。我考虑构建一个“显示”类,它将使用适当的ems预先打包,但实际上这更加相同,因为我的产品浏览页面必须不必要地符合这个类。

我猜这个论点可以说它们是两个不同的视图,有两个不同的目的,但我必须管理同一个HTML的两个不同文件的事实并不适合我。

有没有人有解决方案和/或接受这个?

1 个答案:

答案 0 :(得分:0)

可以有多种方法来实现这一点,对于特定的解决方案,请提及您正在使用的框架/平台。

我可以建议以下内容: a)在不同文件中拆分通用布局和独特布局,并根据需要合并它们。所以你可以有类似的东西 - 了header.html 的index.html footer.html search.html

现在index.html根据需要调用search.html。相当可扩展的方法。

b)Javascript - 您可以使用JS在搜索页面上动态生成dom元素。