| 제목 | view를 이용한 테마기능 구현 | ||
|---|---|---|---|
| 글쓴이 | 한대승(불의회상) | 작성시각 | 2014/07/23 16:30:24 | 
|  | |||
|   개발 초기에 템플릿, 레이아웃, HMVC 등을 이용하여 대비해 놓지 않았다면 참 난감 할 것입니다. 여러가지 방법이 있겠지만 간단하게 CI의 views 폴더를 확장 하여 테마를 구현하는 방법이 있습니다. 테마를 확장 했다고 하여도 기존코드(controller, views)는 수정 할 필요 없이 말이죠. * 기존 CI 애플리케이션 구조 
+ controllers
+ models
+ views
    - welcome.php* 확장된 CI 애플리케이션 구조
+ controllers
+ models
+ views
    + spring
        - welcome.php
    + summer
        - welcome.php이를 위해서는 일단 index.php를 수정해야 합니다. 
/*
 *---------------------------------------------------------------
 * APPLICATION View Theme
 *---------------------------------------------------------------
 */
	define('APP_THEME', 'spring');테마명을 index.php에 define 해놓는것이죠.이제 views의 위치만 바꾸면 됩니다. 코어를 직접 건드는 방법도 있지만 코어 버그 패치나 업데이트를 위해서 건들지 않는게 좋습니다. 대신 application/core 폴더에 MY_Loader.php 를 추가 합니다. * MY_Loader.php 
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Loader extends CI_Loader {
    public function __construct()
    {
                parent::__construct();
		
                // 여기서 views 폴더의 위치를 바꿉니다.
		$this->_ci_view_paths = array(APPPATH.'views/'.APP_THEME.'/' => TRUE);
		log_message('debug', "My Loader Class Initialized");
    }
}어때요?참 쉽죠!! ^o^ | |||
| 다음글 | 뭐..팁이라고 하긴 좀 그렇구요.. (5) | ||
| 이전글 | sqlite3_driver.php에 list_field... (2) | ||
| 
                                토리
                                /
                                2014/07/23 17:45:21 /
                                추천
                                0
                             
                                오!.. 감사합니다.^^
                             |