【发布时间】:2017-08-01 04:42:06
【问题描述】:
我被分配了使用 Perl 模板工具包重写我们自制模板的任务。
我们的模板可以提取模板的一个片段(然后从中生成 HTML),而不是使用整个模板。
模板工具包怎么做?
我提出的最佳解决方案如下:
让我们有一个模板x.html 和片段A。
片段应该被提取到新文件中。 (为了保持一致,我将它命名为x/A.html。)在原始模板x.html 中,它应该替换为[% INCLUDE 'x/A.html' %]。所以我可以使用整个模板x.html 或其片段x/A.html。可能我们可能有几个级别的包容性,比如x/A/B.html。
还有其他方法吗? (我不喜欢像上面描述的那样把它分成子目录,但还没有想出更好的解决方案。)
【问题讨论】:
-
把重复的东西放到更小的子集中。在这方面,模板就像函数。我不会根据(第一次)使用它们的位置将它们放入文件夹中,而是根据它们的作用或用途将它们放入文件夹中。例如,product 模板可用于购物车、详细信息页面和时事通讯中。它不应该是 cart 的子目录,因为它最初出现在那个位置。
-
@simbabque 你的回答(嗯,评论)不是我的问题。我没有给出重构模板及其部分的任务,而只是将遗留模板“语言”“翻译”成现代模板工具包。这是我被分配的唯一任务。我现在不打算做更多的重组工作
标签: perl template-toolkit