제목 | hook 에서 저장된 값 변경 여부 | ||
---|---|---|---|
글쓴이 | 유마 | 작성시각 | 2012/12/21 11:03:45 |
|
|||
현재.. hook 에서 작업을 한 뒤, 그 값을 변수에 담아서 가지고 있다가.. $data = $this->load->view('auth/join_success', $view, TRUE);
$this->output->set_output($data);
요런 식으로 뿌려줍니다. $view 값이 hook 클래스에서 작업한 head, left, footer view를 담아놓은 변수입니다. 그리고 본문 클래스에서 와서 본문에서 뿌려줄 작업들을 해주고... 마지막에 저렇게 뿌려줍니다. 문제는 본문에서 작업한 값을 셋팅 해도 $view에서 이미 뷰 페이지가 만들어지고 그것을 담아놓은 상태라 변경이 되지 않네요? 예를 들면 본문에서 세션을 저장하고 뿌려줘야 하는데... 이미 hook에서는 본문 작업 전에 세션을 읽어서 담아놓고 있기 때문에 세션이 없는걸로 나옵니다. 훔, 이 부분은 어떻게 해야 할까요? |
|||
다음글 | CI SESSION 질문입니다. (1) | ||
이전글 | 라이브러리 생성자에 초기값 넘기기 (1) | ||
헛발이
/
2012/12/21 11:44:25 /
추천
0
|
유마
/
2012/12/21 13:25:31 /
추천
0
헛발이 //
hook 에서 작업하면 아무리 해도 안될 것 같더라고요. 그래서 그냥 그 함수에서는 view를 뿌리지 않고 컨트롤러의 역할만 하도록 하고 다른 페이지로 한번 넘기도록 했어요. 그러면 이미 세션에 들어 있으니깐 후크에 갔다 와도 바뀐 세션으로 체크 되어서 작업할 테니까.. |
헛발이
/
2012/12/21 13:56:07 /
추천
0
저도 Hook를 이용해서 레이아웃을 잡고 있는데요...
그 방식이 display_override를 사용하기 때문에 가장 마지막 화면에 보여주기 직전이기 때문에 다 완료 한 상태기 때문에 다시 뭔가 변환 하는게 어렵긴 하죠... 격하게 코딩을 해보면 이렇게는 할수 있겠죠... view에서 {my_session_value} 이런 그냥 텍스트를 만들어 놓고 Hook에서 마지막 뿌리기 전에 $output = str_replace("{my_session_value}", $this->session->userdata('test'), $output); 이런식으로 치환한느 방법도 있겠죠... ^^ |
pre_system
pre_controller
post_controller_constructor
post_controller
display_override
cache_override
post_system
가장마지막 단계에서 작업을 하시면서 그 앞부분이 되길 생각하면 안되실듯 싶어요...
제 소견이지만 흐름의 생각을 좀 다시 생각해봐야 하는거 아닌가 하네요..