CI 묻고 답하기

제목 _remap 에 대해서 질문 드립니다. 꾸벅~
글쓴이 꾸숑 작성시각 2013/04/05 01:17:09
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 17079   RSS

 관리자/회원가입 기본설정기능을 작업하고 있습니다.

_remap를 사용하니 관리나 작업시 많은 도움이 되고 있습니다. 
선배님들의 도움이 많았습니다.
제가 제작중인 CMS에 하나 하나 기능추가를 하다 보니 막히는게 있어서 질문 드립니다.

$users=$this->member_config_model->users();
위의 내용을 sub_top_view 나   $this->{"{$method}"}();  에서 가져 와서 사용하고 싶습니다.
그렇게 하면 메소드가 복수가 되는데 어떻게 처리 해야 하는지요?

즉 복수의 모델을 1개의 뷰에서 가져와서 사용하고 싶습니다.

 public function _remap($method)
 {
     $users=$this->member_config_model->users();//모델1
     $site=$this->site_config_model->site();//모델2
     $this->load->view('sub_top_view',$site);

  if( method_exists($this, $method) )
  {
   $this->{"{$method}"}();
  }
  $this->load->view('sub_foot_view');
 }

태그 꾸숑,복수메소드,메소드,_remap
 다음글 Active Record 질문드려요 (2)
 이전글 초보적인 질문 하나만 할께요 ㅠ (6)

댓글

변종원(웅파) / 2013/04/05 10:19:16 / 추천 0
 http://cikorea.net/qna/view/9299/page/1  

이거랑 답변이 동일합니다. ^^

_remap 이라고 해서 기존 사용법하고 다를 것이 없습니다.
2차 배열로 넘기면 됩니다.
꾸숑 / 2013/04/06 02:41:41 / 추천 0

웅파//2차배열로 해보았으나 내공부족으로 잘 안되네요..

그래서 잔머리 써서 해결은 했습니다.
코드가 전혀 없는 users_views.php를 만들고
모델을 그곳에서 불러오는 방법을 사용했습니다.
무식한 방법이지만 결과는 만들어 냈네요

그래도 _remap를 사용하니 나중에 쉽게 수정가능해서 마음은 조금 편합니다.

public function _remap($method)
 {
     $users=$this->member_config_model->users();
     $this->load->view('users_view',$users);

     $site=$this->site_config_model->site();
     $this->load->view('sub_top_view',$site);

  if( method_exists($this, $method) )
  {
   $this->{"{$method}"}();
  }
  $this->load->view('sub_foot_view');
 }

 

꾸숑 / 2013/05/20 11:03:38 / 추천 0
웅파//
오랜만에 제가 올린 질문을 보니 새로운 기분이 드는군요 ^^
해결내용을 게시하여 뒤따라 오시는 분들에게 조금이나마 도움을 드리고 저 자신도 정리를 해봅니다.

일단 컨트롤러에서 뷰로 데이터를 전달할때는  배열로 넘깁니다.

뷰에서 데이터를 받을때는 1차원배열은 변수로 2차원은 1차원배열로 3차원배열은 2차원배열로
받아 사용합니다...

그러나 모델과 컨트롤로 간에 데이터 사용 시에는 배열자체를 그대로 가져와 사용합니다.
1차원배열은 1차원배열로 2차원배열은 2차원배열로 받아 사용합니다.

$site=$this->site_config_model->site();//이것 자체가 1차원배열입니다.
뷰에서 사용시에는 변수로 사용하면 됩니다.

$site['users']=$this->member_config_model->users();// 이것은 2차원배열 입니다.
뷰에서 1차원배열로 사용하면 됩니다.

질문의 답은 아래에...
public function _remap($method)
{
$site['users']=$this->member_config_model->users();//모델1
$site=$this->site_config_model->site();//모델2
$this->load->view('sub_top_view',$site);

if( method_exists($this, $method) )
{
$this->{"{$method}"}();
}
$this->load->view('sub_foot_view');
}