2012-06-29 5 views
3

나는 codeigniter의 기초를 배웠고 지금 모듈을 배웠다.hmvc codeigniter

내 문제 :first_modulesecond_module 모듈 폴더 내에 두 개의 폴더를 만들었습니다.

<?php 
    class First_module extends MX_Controller { 
    public function index() 
    { 
     $this->load->view('first_module_view');    
    } 
} 
?> 

first_module_view 페이지 코드 :

<html> 
<body> 
    <h1> hey this is first module </h1> 
    <?php 
     echo Modules::run('second_module/second_module'); 
    ?> 
</body> 
</html> 

second_module 컨트롤러 페이지 :

<?php 
class Second_module extends MX_Controller { 
    public function index() 
    { 
     $this->load->view('second_module_view'); 
    } 
} 
?> 

second_module_view 페이지 :

01,235 first_module 컨트롤러 안에 내 코드에서

first_module보기에서 second_module의 컨트롤러를 사용하여 부분적으로 두 번째 모듈보기를 보려고하는데 작동하지 않습니다.
개별적으로 두 코드 모두 잘 작동하지만 Modules::run()은 작동하지 않습니다.

내가 누락 된 항목이 있습니까?

+1

확인하려면 Modules :: $ locations 배열이 config로 설정되어 있습니까? – Hardik

+0

음 ... 설정 파일 – avinashse

+0

해결 된 내용 : $ config [ 'modules_locations'] = array ( APPPATH.'modules/'='../modules/ ', )) 에코 모듈 :: run ('second_module/second_module');에 인덱스를 포함하지 않았습니다. 코드에서 올바르게 실행 중입니다 : - 'echo Modules :: run [ 'second_module/second_module \ index'); ' – avinashse

답변

1
내가 알고 당신이 당신의 해결책을 발견하고이 나는 보통이 방법으로 그런 일을 할 것, 그러나, 당신이 요구하는 정확한 질문에 대답하지 않는 것을하고

:

 <?php 
      class First_module extends MX_Controller { 
      public function index() 
      { 
       $content = array(); 

       //send content array to 2nd view and return everything as a string to be added as content to the first view 

       $content["second_view"] = $this->load->view('second_module_view',$content,true); 

       $this->load->view('first_module_view',$content);    
      } 
     } 
     ?> 

첫 번째 모듈보기는된다 :

<html> 
<body> 
    <h1> hey this is first module </h1> 
    <?php 
     echo $second_view; 
    ?> 
</body> 

모듈을 특별히 사용하지는 않았지만 컨트롤러와 뷰를 사용하면됩니다. 내가 볼 수있는 모델과 모듈 호출을 제한 할 수있는 일을 할 것입니다. 모델에서 컨트롤러에 생성 된 변수를 전달하기 만하면됩니다.

+0

니스, 이것은 HMVC를 구현하는 적절한 방법 인 것처럼 보입니다 (대신 간단한 MVC 페이지) CodeIgniter. –

관련 문제