2012-12-03 2 views
1

tinyMCE을 처음 사용하며 현재 tinyMCE에 사용자 정의 요소를 추가하는 기본 방법을 조사하고 있습니까?TinyMCE에 사용자 정의 요소를 추가하는 기본 방법

툴바에 여러 개의 버튼을 추가했는데, 차례대로 (a) 선택한 텍스트 부분의 요소 삽입을 트리거하고 (b) 다시 클릭하면 선택된 텍스트에서 해당 요소를 제거합니다.

나는 그래서 기본적으로 난 그냥 주어진 겹치지, 태그와 문장이나 단어, 예를 들어, 일부 마크 업하려면, 이러한 요소 중첩 허용하고 싶지 않은 : 내가 찾은 순간 <foo>Hello</foo> world

을 TinyMCE를 워드 프로세서에서 이러한 두 가지 가능성 :

#1 tinyMCE.execInstanceCommand(editor_id, command, user_interface, value, focus)  

과 # 2는보다 유연한 접근 방식 때문에 가치가 폴리 우레탄과 같은

#2 var n = dom.create(element); 
    n.innerText = sel.getContent({format : 'text'}); 
    tinyMCE.activeEditor.selection.setNode(n); 

나 한테 달려있어.

가 이미 접근 방법 # 2를 사용하여 플러그인을 구현하기 시작했지만, 내가 같은 물건을 처리 할 방법이 확실하지 : 요소 경계텍스트 노드를 중복

  • 선택 (같은 <foo>hello</foo> world <bar>!</bar>
  • 병합 인접한 요소 (<foo>bar</foo><foo>bar</foo>) 또는
  • 비어있는 요소 등을 처리하는 방법

이렇게 많은 기능이 "일반"요소 (예 : strong, em, h1,…,h6 등)에 필요하므로 미리 정의 된 인터페이스가없는 것일 수도 있습니다.

더 많은 정보가 필요하시면 알려주세요. 힌트 나 조언을 주시면 감사하겠습니다.

답변

1

서식 지정을 위해서는 tinymce 코어 파일에 Formatter.js 클래스가 있어야합니다. 하지만 원하는 것은 꽤 복잡합니다. 우리는 스팀을 둥지를 틀도록 방해하려고 시도하고 Formatter.js을 우리의 필요에 맞게 조정했습니다.

+0

Thariama에게 감사드립니다. 제 의도는 최대한 간단하게 유지하고 있습니다 :-) 나에게 해당 코드 조각을 보내 주시겠습니까? (문제가 발생하지 않는 경우에만)? 나는 둥지를 피하려고 노력하고있다. 내 주요 문제는 아직 올바른 방법과 장소를 찾고있는 것 같지만 Formatter.js를 공부하려고합니다. – michael

+1

불행히도 SO는 게시 할 공간이 한정되어 있으므로 클래스 코드를 입력해야합니다. 여기에 붙여 넣기 : http://fiddle.tinymce.com/2tcaab. 나는 이것이 당신에게 도움이되기를 바랍니다. – Thariama

+0

고맙습니다. 아직 이것을 해결 된 것으로 표시하지 않으시겠습니까? 당신의 대답은 많은 도움이됩니다. 다른 의견이 있다면 저도 들으실 수있어서 기쁩니다 :-) – michael