1

ウィキ Web サイト間で共有される PHP コード ベースを維持しています。つまり、 、 など/web/wikiの複数の Web サイトにサービスを提供する PHP スクリプトを含む単一のディレクトリがあるということです。このように記述されているのは、すべての wiki が同じように見え、そのうちの 1 つのバグを自動的に修正 (または機能を追加) するためです。それらすべてが同じ修正/機能を取得することを意味します。PHP コードは、ウィキのロゴの変更や適切なデータベースの選択などに使用されますが、他のすべてのコードはすべてのウィキで同じままです。wiki-devs.domain.comwiki-public.domain.com$_SERVER['HTTP_HOST']

Smarty テンプレートを使用するようにこの Web プロジェクトを書き直していますが、Smarty がtosidebar.template.html用にコンパイルされたテンプレート (たとえば ) を提供しないようにする方法がよくわかりません。同じコード。wiki-devs.domain.comwiki-public.domain.com

私の言いたいことを理解していただければ幸いです。繰り返しになりますが、「wiki-devs」がサイトにアクセスすると、Smarty は「wiki-devs」のテンプレートを生成しますが、「wiki-public」が 1 秒後にサイトにアクセスすると、同じテンプレートが提供されます。

4

1 に答える 1

0

テンプレートには 1 つのディレクトリを使用し、Smartyサイトごとに異なるコンパイル ディレクトリを使用する必要があります。これにより、コンパイルの問題を回避できます。

たとえば、次のようなものを使用できます。

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