CI 묻고 답하기

제목 controller 생성자에서 호출된 뷰를 호출 안하는 방법있나요..?
글쓴이 뫄뫄잉뿌 작성시각 2016/06/29 16:23:32
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 15109   RSS

view단에서 ajax를 통해 controller의 함수에서 값을 리턴받아서

화면에 뿌려주는걸 하고있는데

controller의 생성자에서 헤더와 푸터를 기본적으로 불러주고있어서...

ajax에서 거쳐가는 함수내에 echo $result;로 하면

success로 돌아오는 값이 $result의 제대로 된 값과 헤더,푸터 html태그까지 몽땅 다 가져오네요..ㅜㅜ

$result만! 제대로 가져오려면 생성자에서 호출된 view를 제외시켜야될거같은데..방법이있나요?

 다음글 textarea 엔터로 구분 explode 질문입니다.... (1)
 이전글 앱/웹을 같이 사용하는경우 이렇게 만들어도 될까요? (4)

댓글

kaido / 2016/06/29 16:33:44 / 추천 0
public function _remap($method) {
        if ($this -> input -> is_ajax_request()) {
            if (method_exists($this, $method)) {
                $this -> {"{$method}"}();
            }
        } else {
//ajax가 아니면
            $this -> load -> view("/admin/common/header_admin");
            if (method_exists($this, $method)) {
                $this -> {"{$method}"}();
            }
            $this -> load -> view("/admin/common/footer_admin");
            //$this->output->enable_profiler(true);
        }
    }

오늘 연속으로 이 코드가 등장 하는군요 ㅎㅎ

ps. 물론 기존의 컨트롤러에서 일일이 불러오는 헤더 푸터 는 빼셔야 합니다. 자동으로 들어가거든요.

kaido / 2016/06/29 16:35:49 / 추천 0
아니면

$this -> input -> is_ajax_request()

해당 함수내에서 이걸로 ajax인지 아닌지 구분해서 분기 처리해 주셔도 좋구요.

 

뫄뫄잉뿌 / 2016/06/29 16:37:33 / 추천 0
Controller의 부모 생성자에서 헤더와 푸터를 가져오고 있어서.. 이건 그럼 일일히 각 컨트롤러마다 호출을 해야되는건가요?
kaido / 2016/06/29 16:58:13 / 추천 0

그럼 부모 컨트롤러에서 분기해 주시면 됩니다.

_remap 도 동일한 기능 입니다.

뫄뫄잉뿌 / 2016/06/30 15:34:44 / 추천 0
부모 컨트롤러에서 분기해서 했습니다! 생성자에서 헤더,푸터를 갖고오는 컨트롤러를 만들었었는데 그냥 컨프롤러를 상속해서 하니 잘되네용! 감사합니다 ㅎㅎ