1

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

我正在重写这个 Web 项目以使用 Smarty 模板,但我不太明白如何让 Smarty 避免提供为tosidebar.template.html编译的模板(比如说),因为它不知道有多个域访问相同的代码。wiki-devs.domain.comwiki-public.domain.com

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

4

1 回答 1

0

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

例如,您可以使用类似的东西:

    $sitename=$_SERVER['HTTP_HOST'];        
    $smarty->template_dir='themes/themename/';
    $smarty->compile_dir='files/compile/'.$sitename.'/';
于 2013-01-24T23:33:12.537 回答