smarteditor2에 placeholder 적용하기

smarteditor2에 placeholder 적용하기

QA

smarteditor2에 placeholder 적용하기

답변 2

본문

게시판편집기를 smarteditor2를 사용중이라

/plugin/editor/smarteditor2/

를 확인해보니 파일들이 많군요.

 

저는 게시판에서 글쓰기시

내용부분에

placerholder를 적용해서 몇글자 적어놓으려고 하는데

에디터에서 도대체 어떤파일의 어딜 수정해야하는지 몇시간째 헤매는중입니다. ㅋㅋㅋ

 

어느파일일까요? 파일마다 열어서 textarea를 지워보면서 찾는데 도무지... 

이 질문에 댓글 쓰기 :

답변 2

위지윅 에디터는 단순 textarea 로 되어있지 않고, 에디터 부분은 iframe 으로 처리되는 등

내부적으로는 굉장히 복잡한 매커니즘으로 동작됩니다.

 

잠깐 살펴보았습니다만, 해결방법을 찾지 못하였고..

참고하실 수 있는 사항 몇가지 남깁니다.

 

* textarea 는 최초에 텍스트를 가져올 때, 그리고 db 에 저장될 때, 눈에보이지 않게 처리되는 부분으로

거기에 placeholder 속성을 적용해도,

(/plugin/editor/smarteditor2/editor.lib.php 에서 textarea 생성 코드 부분이 있습니다.)

위지윅 에디터에는 반영되지 않습니다.

 

1) 스마트에디터 자체 제공 기본 텍스트 기능

/plugin/editor/smarteditor2/config.js

에 보면..


fOnAppLoad : function(){
                    //예제 코드
                    //oEditors.getById["ir1"].exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]);
                },

코드가 있습니다. 주석처리되어 있는데.. 해당 부분을 

oEditors.getById[get_id].exec("PASTE_HTML", ["로딩이 완료된 후에 본문에 삽입되는 text입니다."]);

로 대체해주면, 기본 텍스트가 나오게 됩니다. 

자바 스크립트 캐시문제로 확인되지 않는 경우에는, 

/plugin/editor/smarteditor2/editor.lib.php 에서 config.js 를 불러오는 부분에 ?ver=~ 식으로 버전명을 추가해주면 됩니다.

글수정시에도 해당 내용이 반영되는 문제와, 포커스 이벤트시 사라지지 않는다는 문제가 있습니다.

 

2) 관리자 > 게시판 설정 > 글쓰기 기본내용

을 이용하는 방법이 있습니다.

해당 내용에 <span style="color:#aaa">기본 내용입니다.</span> 식으로 저장해주면,

placeholder 를 지정한 것과 유사한 효과가 납니다.

다만, 이 방법도 에디터에 포커스를 위치해도 해당 내용이 사라지지 않는다는 문제가 있습니다.

 

그래서 에디터에 포커스 이벤트가 발생할 때,

기본내용을 삭제하는 스마트에디터용 명령어인

oEditors.getById["wr_content"].exec("SET_IR", ['']);

oEditors.getById["wr_content"].exec("UPDATE_CONTENTS_FIELD", []);

실행해주는 로직을 생각해볼 수 있습니다.

 

다만, 포커스 이벤트 핸들러 함수 생성을 하는 방법을 아직 찾지 못하였고,

만약 찾는다고 하더라도 다음 문제는..

포커스 이벤트가 발생할 때 마다 내용을 초기화해주면 안되고, 

최초의 포커스 이벤트시에만 내용 초기화 방법을 해주어야 되는 문제가 남을 것으로 생각됩니다.

 

관리자 에서 각게시판 수정으로 들어가셔서 게시판 디자인/양식부분에 글쓰기 기본 내용에다

넣으면 되는걸루아는데 함해보세요....

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 17
© SIRSOFT
현재 페이지 제일 처음으로