| 제목 | hook 로 지정된 클래스에서 모델 사용 | ||
|---|---|---|---|
| 글쓴이 | 유마 | 작성시각 | 2012/11/21 15:02:32 | 
| 
                         | 
                |||
| 
                        모델 객체를 사용할 수 있나요? head, left/right menu, footer 에서 사용할 view를 불러오기 위해... 여러가지 값들이 필요한데.. 그게 모델로 지정해놨는데... 사용할 수 있나요?  | 
                |||
| 다음글 | 체크박스 처리 질문. (7) | ||
| 이전글 | form submit 관련? (5) | ||
| 
                             
                                헛발이
                                /
                                2012/11/21 15:22:00 /
                                추천
                                0
                             
                             | 
                    
| 
                             
                                유마
                                /
                                2012/11/21 15:47:11 /
                                추천
                                0
                             
                            
                                헛발이 // 
                        오토로드로 불러서 사용해버렸네요.. +_+;;;;; 아까도 된거 같은데 안된 이유가... $ci =& get_instance(); 선언하고 다른 곳에서 $this->ci 이렇게 사용해서 안되었나 보네요. -_-a  | 
                    
| 
                             
                                헛발이
                                /
                                2012/11/21 15:50:03 /
                                추천
                                0
                             
                            $ci =& get_instance();이렇게 하셨다면 
$this->load->model('users');
이렇게 사용할 수 있을텐데요.. | 
                    
| 
                             
                                유마
                                /
                                2012/11/21 15:52:04 /
                                추천
                                0
                             
                            
                                헛발이 // 
                        $ci =& get_instance(); 이렇게 말고 $this->ci =& get_instance(); 이렇게 받으니깐 되네요.. 아마 후크에 지정된 클래스와 지정해놓은 함수만 사용하는게 아니라, 그 안에 다른 함수들도 사용해야 하거든요.. 물론, 함수 하나 안에 다 집어놓고 해도 되는데.. 함수로 구분 해놔서 그것들도 ci를 사용해야 되나 보니까... 그런가 봐요... 
$hook['post_controller_constructor'] = array(
    'class'    => 'BaseCommon',
    'function' => 'commonViewCheck',
    'filename' => 'Basecommon.php',
    'filepath' => 'hooks'
);
class BaseCommon
{
    function __construct()
    {
        $this->ci =& get_instance();
        $this->ci->load->helper( 'system' );
    }
    function commonViewCheck()
    {
        $trans_fr = partner();
        // 로그인한 사용자 정보. 
        $login_mem = $this->_login_member();
        // head 로 넘겨줄 데이터 //
        $data['head'] = array(
            'trans_fr'      => $trans_fr,
            'head_logo'     => logo_display($trans_fr),
            'head_info'     => $this->ci->common_m->getMetaData($this->ci->uri->uri_string()),
            'jtx_user_id'   => $this->_get_jtx_id($login_mem),
            'mem_total'     => $this->ci->common_m->getSysMemTypePerCount(),
            'login_mem'     => $login_mem
        );
        // head 로 넘겨줄 데이터 //
        // left 로 넘겨줄 데이터 //
        $data['left'] = array(
            'trans_fr'          => $trans_fr,
            'jtx_user_id'       => $jtx_user_id,
            'login_mem'         => $login_mem,
            'left_evaluation'   => $this->_get_evaluation(),
            'interview'         => get_interview()
        );
        // left 로 넘겨줄 데이터 //
        $view['head'] = $this->ci->load->view('include/head', $data['head']);
        $view['leftLogin'] = $this->ci->load->view('include/leftLogin', $data['left']);
        $view['leftMenu'] = $this->ci->load->view('include/leftMenu', $data['left']);
        $view['footer'] = $this->ci->load->view('include/footer');
    }
    function _get_jtx_id($mem)
    {
        if(isLogin()) {
            if(isMemberType($mem['mem_type'], 'usr_order')) {
                return $jtx_user_id = $mem['mem_id'];
            }
        }
        return '';
    }
    function _login_member()
    {
        return $login_mem = array(
            'mem_type'  => $this->ci->session->userdata('mem_type'),
            'mem_id'    => $this->ci->session->userdata('mem_id'),
            'mem_idx'   => $this->ci->session->userdata('mem_idx')
        );
    }
    function _get_evaluation()
    {
        $left_evaluation = $this->ci->common_m->getEvaluation();
        foreach($left_evaluation as $row) {
            $row->writeday = ret_unix_time_txt($row->writeday, 'hi');
            $row->trans_id = view_user_id($row->trans_id);
        }
        return $left_evaluation;
    }
}
 | 
                    
Hook의 클레스 안에서...
$this->ci =& get_instance(); $this->ci->load->model('users');이렇게 로드 해서 사용할 수 있습니다.