2012-06-15 3 views
1

위키 웹 사이트간에 공유되는 PHP 코드베이스를 유지 관리하고 있습니다. 무슨 말인지하면 wiki-devs.domain.com, wiki-public.domain.com 등과 같은 여러 웹 사이트를 제공하는 PHP 스크립트가있는 단일 디렉토리 /web/wiki입니다. 모든 위키가 동일하게 보이고 하나의 기능을 추가하기 때문에 이렇게 작성되었습니다. 그 (것)들의 모두 자동적으로 모두는 동일한 고침/특징을 얻는다는 것을 의미한다. PHP 코드는 $_SERVER['HTTP_HOST']을 사용하여 위키의 로고를 변경하고 올바른 데이터베이스를 선택하지만 다른 모든 코드는 모든 위키에서 동일하게 유지됩니다. 그것을 알고하지 않는 한, wiki-public.domain.comwiki-devs.domain.com에 대한 컴파일 그 (의는 sidebar.template.html을 가정 해 봅시다)여러 사이트에 대해 동일한 Smarty 템플릿을 재사용하는 방법은 무엇입니까?

나는 스마티 템플릿을 사용하려면이 웹 프로젝트를 다시 작성 해요,하지만 난 아주 멋지 템플릿을 제공하지 않도록하는 방법을 이해할 수 없다 동일한 코드에 액세스하는 여러 도메인이 있다는 것을 의미합니다.

내가 무슨 뜻인지 이해하시기 바랍니다. 다시 반복하십시오 : "wiki-devs"가 사이트에 액세스하면 Smarty는 "wiki-devs"에 대한 템플릿을 생성하지만 "wiki-public"이 나중에 사이트에 액세스하면 동일한 템플릿이 제공됩니다.

+0

는 각 사이트에 대해 다른 캐시 디렉토리를 설정하는 시도 유무 :

예를 들어, 당신은 그런 일을 사용할 수 있습니까? –

+0

그 해결책은 @SamDufel이어야합니다. 다른 캐시 디렉토리를 설정할 수 있는지 몰랐습니다. 나는 지금 그것을 시험하고있다. 그리고 그것이 효과가 있으면 나는 당신에게 말할 것이다! – bodacydo

답변

0

Smarty 템플릿에는 하나의 디렉토리를 사용해야하고 각 사이트마다 다른 컴파일 디렉토리를 사용해야합니다. 이렇게하면 컴파일 문제를 피할 수 있습니다.

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