繁体   English   中英

如何在多个站点上重复使用相同的Smarty模板?

[英]How to reuse same Smarty templates for multiple sites?

我正在维护一个Wiki网站之间共享的PHP代码库。 我的意思是说,有一个包含PHP脚本的目录/web/wiki ,用于服务多个网站,例如wiki-devs.domain.comwiki-public.domain.com等。之所以这样写是因为所有Wiki看上去相同,并且自动修复其中的一个错误(或添加功能)意味着它们所有人都具有相同的修复/功能。 PHP代码使用$_SERVER['HTTP_HOST']更改Wiki的徽标并选择合适的数据库, $_SERVER['HTTP_HOST'] ,但是所有其他代码对于所有Wiki均保持不变。

我正在重写此Web项目以使用Smarty模板,但是我不太了解如何使Smarty避免将为wiki-devs.domain.com编译为wiki-devs.domain.com的模板(例如sidebar.template.htmlwiki-public.domain.com ,因为它不知道有多个域访问同一代码。

我希望你明白我的意思。 再次重申:当“ wiki-devs”访问该站点时,Smarty会为“ wiki-devs”生成模板,但是如果“ wiki-public”稍后再访问该站点,则将向他们提供相同的模板。

您应该为Smarty模板使用一个目录,为每个站点使用不同的编译目录。 这样,您将避免编译问题。

例如,您可以使用类似的方法:

    $sitename=$_SERVER['HTTP_HOST'];        
    $smarty->template_dir='themes/themename/';
    $smarty->compile_dir='files/compile/'.$sitename.'/';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM