| 제목 | 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
오!.. 감사합니다.^^
|