2017-10-28 6 views
0

거기에 방법이 있나요 plates PHP 어디 컨트롤러에서 템플릿을 만들 수 있지만 다른 컨트롤러를 사용하여 렌더링. 두 개의 컨트롤러가 있다고 가정 해보십시오. HeaderController 및 SearchController. SearchController거기에 템플릿을 만들 수 있지만 접시에 그것을 렌더링하지 않습니다 PHP는

class Search extends \system\core\BaseController 
{ 
    public function Index() 
    { 
     $data['text_search'] = 'Search..'; 

     // This $this->template->render down below is what I don't want now 
     // okay asign the data but do not display the template yet 
     echo $this->template->render('common/search', $data); 
    } 
} 

더미 SearchController는 템플릿 search.tpl에 $에게 데이터를 할당하고 렌더링 안/템플릿을 표시합니다. 나는 위의 컨트롤러

HeaderController

class HeaderController extends \system\core\BaseController 
{ 
    public function Index() 
    { 
     // Some codes 

     // Call/load the SearchController and asign it to $data['search'] 
     $data['search'] = $this->load->controller('common/SearchController'); 

     // and then pass all $data and render/display it. 
     echo $this->template->render('common/header', $data); 
    } 
} 

그것을하는 방법이 있나요 호출 할 위치를

이 무엇입니까?

답변

1

실제로이 문제는 학급 내에서 echo을 사용하고 있다는 사실에서 비롯된 것입니다. 귀하의 "컨트롤러"(물론, 그들은 실제로보기와 컨트롤러의 조합 인 것 같습니다) return 콘텐츠 또는 Response 클래스 인스턴스라면 문제가 사라집니다.

+0

tereško, 남자 .. 그건 바보 같았습니다. 고마워, 반품이 도와 줬어. – Mecom

+0

@Mecom 당신을 환영합니다. –