제목 | 초보라서... 죄송합니다... | ||
---|---|---|---|
글쓴이 | 람이 | 작성시각 | 2013/11/20 17:14:48 |
|
|||
제가 컨트롤러 안에 main.php를 만들고 뷰에는 main 과 login을 만들어 두었습니다. 컨트롤러 main에는 class Main extends CI_Controller { function __construct() { parent::__construct(); $this->load->database(); $this->load->helper('url'); } function _remap($method) { $this->output->enable_profiler(TRUE); //헤더 include $this->load->view('head'); if( method_exists($this, $method) ) { $this->{"{$method}"}(); } //푸터 include $this->load->view('tail'); } function index() { $this->load->view('main'); } function login() { $this->load->view('login'); } } 이렇게 했구요... head.php 파일에서 로그인을 누르면 뷰에 login.php 파일을 실행하려고 하는데 안되네요... 제가 이제 막 C.I를 시작해서 그런지 아직 잘 모르겠습니다. 나이가 40대라 더 이해도가 느린것도 있네요... 에휴 ! | |||
다음글 | 포럼 소스를 다시 다운받아 설치해보니 message 라... (2) | ||
이전글 | disallowed characters 관련하여 질문 ... (5) | ||
변종원(웅파)
/
2013/11/20 17:21:17 /
추천
0
|
CI_ORL
/
2013/11/27 03:35:11 /
추천
0
음 도움이 되려나?
저두 약 멘땅에 헤딩 중인 약 한달차 입니다
같은 컨트럴러에서 다른 뷰 페이지를 호출하고자 하는 경우라 생각하고 제가 쓰고 있는 팁을 드리자면...
var $i=`main`;
function main(){
$this->load->view($this->i);
}
function login()
{
$this->i = `login`;
$this->main();
}
같은 꼼수로 사용 중이죠!
물론 login 같은 경우 함수가 두둑하니 따로 호출하심이 옳다고 보입니만... 초보자의 꼼수이니 너그러히 봐 주시고 팁이 있으시면 조언도 부탁드립니다
|
그리고 컨트롤러에서 뷰를 호출하는 기본 연결구조에 대한 이해가 부족한 것 같습니다.
ci(mvc패턴을 사용하는 다른 프레임워크도 마찬가지)는 뷰 파일을 바로 호출할 수 없습니다.
컨트롤러-뷰 연결을 통해서 컨트롤러에서 뷰를 호출하여 화면출력합니다.
head 파일에서 로그인 뷰를 출력하고 싶다면 로그인 뷰가 연결된 컨트롤러를 호출하면 됩니다.
위 소스에서는 /main/login 을 a href에 연결하면 됩니다.
/main/login > main 컨트롤러의 login 메소드 실행 -> 결과적으로 $this->load->view('login')이 실행되어
화면에 해당 뷰를 출력.
ci기본개념 : http://cikorea.net/lecture/view/26/page/2/
ci 동영상 강의 http://cikorea.net/lecture/view/354/page/1