我正在使用html::template构建一个perl cgi::应用程序。
我正在使用具有相同布局的7-8个不同的模板-页眉,页脚,左栏等。我如何将这个html从模板文件中分离出来成为一个布局文件。除了cgi::app和html::template之外,我还需要哪些perl模块。
谢谢
发布于 2010-10-26 21:28:41
我觉得Template-Tookit更好。
如果一定要使用HTML::Template,可以使用TMPL_INCLUDE指令。它将搜索您定义的模板路径,或者您可以指定另一个模板的完整路径。它也会处理其中的变量。
你可以为页眉,页脚等创建单独的模板文件,在你的页面模板中只需TMPL_INCLUDE它们即可。它没有Template Toolkit的包装器那么优雅,也更具重复性(对于所有共享元素,您必须在每个页面中执行多次TMPL_INCLUDE操作),但它可以完成工作。
如果可以,投入时间并使用模板工具包。
发布于 2010-10-26 21:22:02
我会把Template-Toolkit的HTML::Template换成使用它的WRAPPER指令。
发布于 2010-10-27 16:15:23
我不知道模板工具包。所以我不会讨论哪种解决方案是最方便的。我可以给你另一个解决方案,这取决于你运行cgi的服务器。使用Apache服务器,您可以在html中使用include:
<!--#include virtual="/includes/header/header.htm"-->
您可以调用htm (静态页面)以及动态页面:
<!--#include virtual="/perl/includes/dynamic.pl"-->
但您必须对apache进行一些调整。请参阅Apache Tutorial: Introduction to Server Side Includes
希望这篇文章能有所帮助,或者至少能给你一些启发
https://stackoverflow.com/questions/4024043
复制相似问题