제목 | CI 에서 위지윅에디터( fckeditor )사용하기 | ||
---|---|---|---|
글쓴이 | 아날로직 | 작성시각 | 2009/04/16 20:03:31 |
|
|||
fckeditor 는 2.6.4 버전입니다. ci 버전은 1.7.1 버전입니다. 저는 .htaccess 설정에 RewriteCond $1 !^(index\.php|images|css|js|robots\.txt) 이런룰을 적용해서 사용하고 있습니다. 그래서 fckeditor 는 걍 js 폴더에다 넣어버렸습니다. 위지윅에디터의 language 가 어차피 javascript 라... 우선 다운받은 fckeditor 를 압축풀어서 업로드 한 후에 fckeditor.php , fckeditor_php4.php , fckeditor_php5.php 세개의 파일을 system/application/libraries 안으로 이동시킵니다. fckeditor.php 파일을 열어서 ---------------------------------------------------------------------------- if ( ! defined('BASEPATH')) exit('No direct script access allowed'); ---------------------------------------------------------------------------- 를 최상단에 넣습니다. 저는 환경이 php5 환경이라 fckeditor_php5.php 만을 수정하였습니다. 파일을 열어서 역시 ---------------------------------------------------------------------------- if ( ! defined('BASEPATH')) exit('No direct script access allowed'); ---------------------------------------------------------------------------- 를 최상단에 넣고 131번째 라인에 ---------------------------------------------------------------------------- public function __construct( $instanceName ) { $this->InstanceName = $instanceName ; ---------------------------------------------------------------------------- 이부분을 아래와 같이 수정 해 줍니다. 아마 CI의 로더 특성때문에 인자를 배열로 전달해야 하는것 같습니다. ---------------------------------------------------------------------------- public function __construct( $array ) { //$this->InstanceName = $instanceName ; $this->InstanceName = $array['instanceName'] ; ---------------------------------------------------------------------------- 그리고 view 파일의 입력창이 들어가야 될 부분에 =$comment_area?> (변수명은 관계없습니다) 라고 입력 해 주시고 controller 에서 아래와 같이 뿌려줍니다. $this->load->library('form_validation'); $this->form_validation->set_rules('comment', '내용', 'trim|required|min_length[1]|xss_clean'); //이런 밸리데이션 체크가 있다고 가정합니다. if($this->form_validation->run() == FALSE){ $data['subject']=set_value('subject'); //밸리데이션 통과 못했을때 입력값을 그대로 셋팅하는 부분입니다. //이 아래부분이 fckeditor $this->load->library('fckeditor',array('instanceName' => 'comment')); $this->fckeditor->BasePath = base_url() . '/js/fckeditor/'; $this->fckeditor->ToolbarSet = 'Basic'; $this->fckeditor->Height = '400'; $this->fckeditor->Value = $this->mycommon->my_htmlspecialchars_decode(set_value('comment')); //밸리데이션 통과 못했을때 입력값을 그대로 셋팅하는 부분입니다. //my_htmlspecialchars_decode <---- 이 함수는 php5 이상부터 사용가능한 htmlspecialchars_decode 함수를 흉내내서 개인적으로 쓰는 함수입니다. php4 환경에서 쓰일지도 몰라서.. 역할은 htmlspecialchars 의 반대역할입다. $data['comment_area'] = $this->fckeditor->CreateHtml(); }else{ 인서트 처리 } 만약 두개의 에디터가 필요하다면 $this->fckeditor->InstanceName = 'comment2'; $data['comment_area2'] = $this->fckeditor->CreateHtml(); 이런식으로 사용합니다 |
|||
다음글 | 기본 셋팅을 끝냈습니다. (8) | ||
이전글 | 채팅 붙여놨습니다. (3) | ||
송군
/
2011/09/12 20:54:28 /
추천
0
잘보았습니다. 많은 도움이 되었습니다( ^^ )
|