개발 Q&A

제목 wiredesignz님 hmvc 프로젝트 적용중인데 폴더구조가..
글쓴이 작성시각 2014/02/21 14:28:07
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 17023   RSS
 안녕하세요.

hmvc 적용중인데 폴더구조가 modules/모듈명/컨트롤러 이런식이더라고요.

이거 적용하면 수정할때 까다로울거 같은데 ..

마나보드 보면 컨트롤러 안에 컨트롤러 위젯 막 쓸 수 있어서 수정 용이하던데 

폴더 설정 변경해서 사용할거 같아요.

여러분은 어떻게들 사용하세요 ?
 다음글 부모페이지 로딩후 아이프레임창 내용 변경 감지 (1)
 이전글 모바일웹, 하이브리드앱 관련 갈등중입니다. 다 해보신분... (9)

댓글

/ 2014/02/24 10:53:05 / 추천 0
 안녕하세요.

답변이 없으시네요.

그래서 나름 고심한 결과 저는 마나보드 구조와 hmvc구조를 통합해서 나름 제 입맛에 맞게 수정했습니다.



public_html 과 같은 폴더 위치에 시스템을 놓구,

어플과 같은 위치에 뷰, 모듈을 설정했습니다. 어플 하단에 뷰와 모듈을 안 넣는 이유는

디자이너들이 수정할때 좀더 찾기 쉽도록 하기 위함이고, 모듈은 제가 모델이랑 같은 줄에 있어서 클릭하기 헤깔려서 입니다.

혹시 필요하신 분 있으실까 하여 소스 남깁니다.

기본 구조는 hmvc의 설치를 하시고 수정하시면 됩니다.

app/config/config.php 파일 하단 추가..

/*
|--------------------------------------------------------------------------
| 모듈 경로설정
|--------------------------------------------------------------------------
|
| 참조)
| 모듈의 경로 설정.
|
*/
$config['modules_locations'] = array(
    APPPATH.'../module/' => '../../module/',
);

app/core/MY_Loader.php 대체..

<?php (defined('BASEPATH')) OR exit('No direct script access allowed');
 
/* load the MX_Loader class */
require APPPATH."third_party/MX/Loader.php";
 
class MY_Loader extends MX_Loader {
    
    /** Load a module view **/
public function view($view, $vars = array(), $return = FALSE) {
list($path, $_view) = Modules::find($view, $this->_module, 'views/');
if ($path != FALSE) {
$this->_ci_view_paths = array($path => TRUE) + $this->_ci_view_paths;
$view = $_view;
}
        
        if($path == FALSE) {
            //모듈 패스가 없으면.. 뷰의 패스를 스킨패스로 수정한다.
            $this->_ci_view_paths = array(SKIN_PATH => TRUE);
            $view  .= '.html';
        }
return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return));
}
}

app/config/constants.php 하단 추가

/*
|--------------------------------------------------------------------------
| 사용자 정의
|--------------------------------------------------------------------------
|
| 사용자 정의 상수.
|
*/
 
define('SKIN_PATH', realpath (APPPATH.'../skin')."/");

잘못된점이나, 혹시 더 효율적인 방법 있으시면, 댓글 부탁합니다.

 
/ 2014/02/24 10:56:01 / 추천 0
 
/ 2014/02/24 10:57:06 / 추천 0
skin -> 뷰요.. 그냥 뷰로 사용하셔도 되고.. 스킨으로 사용하셔도 되고 폴더명 변경은 마나보드 참조했습니다.