2010-04-06 3 views

답변

3

일반적으로 구조가 잘 짜인 프로젝트에는 템플릿과 template_c 폴더가 있지만 이름은 구성/변경할 수 있습니다. 또한이 폴더에서 .tpl 파일을 찾습니다. 내가 볼 수

가장 좋은 방법은, {경우} 등

1

난 당신이 기본보기를 확인을 통해 알아낼 수 있다고 생각 아마도 전형적인 스마티 스타일이어야한다

class View 
{ 
    protected $tpl; 
    protected $tplfilename; 

    public function __construct() 
    { 
     $this->tpl = new Smarty(); 

     $this->tpl->template_dir = dirname(__FILE__)."/templates"; 
     $this->tpl->compile_dir = dirname(__FILE__)."/templates_c"; 
     $this->tpl->config_dir = dirname(__FILE__)."/configs"; 
     $this->tpl->cache_dir = dirname(__FILE__)."/cache"; 
     $this->tpl->left_delimiter = "{|"; 
     $this->tpl->right_delimiter = "|}"; 

     $this->tplfilename = "default.tpl"; 
    } 

    public function show() 
    { 
     $this->tpl->display($this->tplfilename); 
    } 
} 

이를 class.E.g.

+0

일부 프로젝트는 OOP 기반이거나 MVC 방식을 사용하지 않습니다. 비록 그들이 그것을했다면 더 나아지는 것 같아요.) .. – pinaki

+0

@pinaki 사실,이 커큐가 대부분의 디렉토리를 구성 할 수 있다는 것을 알기가 어려울 것입니다. – Young

+0

compile_dir이 필요하기 때문에 기본 'templates_c'폴더가 있는지 또는 '-> compile_dir'이 들어있는 줄 중 하나를 찾을 수 있습니다. – djn

2

당신이해야 할 수도 있습니다, {지정}/가져 오기 {foreach는}처럼/디스플레이 또는 일반적인 유식 태그를 할당과 같은 일반적인 유식 기능에 grep을하는 것입니다 템플리트와 templates_c를 찾기 위해 주위를 둘러 보았습니다 - 내 프로젝트 중 하나에서 htdocs조차도 알지 못합니다 - smarty 폴더는 htdocs와 같은 수준입니다. 그리고 우리는 프로젝트에 기반한 Smarty 클래스의 이름을 지정 했으므로 "새로운 Smarty()"를 찾더라도 작동하지 않습니다.

일반적인 똑똑한 기능을 찾는 것이 가장 좋은 방법 일 것이라고 생각합니다.

관련 문제