2017-07-27 104 views
1

我被分配了用Perl模板工具包重写我们的自制模板的任务。模板工具包:提取模板的一部分

我们的模板可以提取模板的一个片段(然后使用它制作HTML)而不是使用整个模板。

如何使用模板工具包?

我想出了最好的解决方案是:

让我们有一个片段A模板x.html

该片段应该被提取到新文件中。 (为了保持一致,我将其命名为x/A.html。)在原始模板x.html中,应将其替换为[% INCLUDE 'x/A.html' %]。所以我可以使用整个模板x.html或其片段x/A.html。可能我们可能有几个级别的包含像x/A/B.html

还有其他方法可以做到吗? (我不想如上所述将它拆分成子目录,但没有提出更好的解决方案。)

+1

把重复的东西放到更小的子集中。模板就像这方面的功能。我不会根据它们(第一次)使用的位置将它们粘贴到文件夹中,而是根据它们的作用或用途将它们粘贴到文件夹中。例如,可以在购物车,详细信息页面和新闻通讯中使用_product_模板。它不应该仅仅因为这是它最初出现的位置而被用作_cart_。 – simbabque

+0

@simbabque你的回答(好,评论)不是我的问题。我没有完成重组模板及其部分的任务,而只是将旧模板“语言”“翻译”为现代模板工具箱。这是我分配的唯一任务。我现在不会做更多的重组工作 – porton

回答

2

你问是否有更好的方法从父模板中提取片段?

(答案是:不,这可能是最好的办法。)

或者,你问的是有没有更好的方式来组织提取的fragements?

(答案是:没有真正的最佳答案,到处都将有自己的房子的风格 - 你不会走得太远错了采摘任何约定。)

最常见的约定来命名我见过是子目录x/A.html和前缀x_A.html。无论您是使用x的父模板名称,还是选择按功能分组,建议使用simbabque都是另一个问题:按功能分组可以更好地在较大且更复杂的布局上进行缩放,因为您可以大量重用组件,但在用例较少的情况下,按用例进行分组在概念上更简单,只需少量或不需要组件重用。