2012-02-11 2 views
1

나는 codeigniter를 연구 중이며 간단한 응용 프로그램을 구현할 것입니다. 모든 페이지, 직접 동적 요소가 MVC 패턴을 통해 만들어야합니다 포함하지 않는 경우에도 내가 묻는거야? 나는 내 자신을 설명한다 : 나의 홈페이지는 다이나믹의 어떤 것을 포함하지 않을 것이다. 머리말, 메뉴 및 꼬리말 만. 이 상황을 처리하기 위해 모델, 컨트롤러 및 뷰를 생성해야하거나 간단하게 홈 페이지를 만들 수 있습니까?codeigniter : MVC 패턴을 통해 만들어진 모든 것?

답변

3

URL에서 호출 된 것이므로 항상 컨트롤러를 만들어야합니다.

까지보기 및 모델. 항상 둘 중 하나를 만들 필요는 없습니다.

정적 인 정보가 담긴 페이지가 많아 모델 상호 작용이 전혀 필요하지 않습니다.

보기가 없으면 MVC의 목적을 상실한 것입니다. 컨트롤러가 페이지의 HTML을 모두 표시 할 수는 있지만 가능하지는 않습니다.

내가하는 방식은 머리글과 바닥 글이 포함 된 기본보기가 있다는 것입니다. 페이지에 대한 모든 내 콘텐츠가 들어가는 콘텐츠보기. 그런 다음 페이지에 대한 내보기를 내용보기로 전환 한 다음 기본보기로 내 페이지를 만듭니다.

$arrData["vwsContent"] = $this->load->view("your view for the page", $arrData, TRUE); 
$arrData["vwsPageContent"] = $this->load->view("content template view", $arrData, TRUE); 
$this->load->view("default template view", $arrData, FALSE); 

이렇게하면 모든 콘텐츠보기가 있지만 모든 페이지에 대해 동일한 기본보기를 가질 수 있습니다. 예를 들어 내 홈페이지는 내 일반 페이지와 다르게 보이므로 CONTENT 템플릿 대신 HOME 템플릿을 사용하게됩니다.

1

모든 컨트롤러에서 홈 페이지 기능을 정의 할 수 있습니다. routes.php 기본 컨트롤러와 액션에

$route['default_controller'] = "welcome";

을 정의 할 수 있습니다 (환영은 당신의 컨트롤러를 선호하는 어떤로 대체 될 수있다).

function index(){ 
     $this->load->view('index'); 
} 

그런 다음 "보기"폴더에있는 파일의 index.php를 만들 이름을 지수 함수를 만듭니다.

index.php에서 모든 HTML 정적 컨텐츠를 넣을 수 있습니다. images/css/js 경로에 URL 도우미 [function base_url()]를 사용할 수 있습니다.

관련 문제