2016-09-09 11 views
3

Episerver 9에서 작업 중입니다. 사용자가 HTML 태그를 포함하는 컨텐츠를 TinyMCE 편집기에 복사 할 수있는 요구 사항이 있습니다.Episerver 9에서 TinyMCE 편집기 사용자 정의

텍스트 콘텐츠 만 붙여 넣기를 원합니다. HTML 태그는 기본적으로 자동으로 필터링됩니다.

TinyMCE를 사용하여이를 수행 할 수있는 방법이 있습니까?

답변

0

당신은 항상 다음과 일반 텍스트로 붙여 TinyMCE에 강제 할 수있는 paste 플러그인을로드하는 것을 가정 :

tinymce.init({ 
    ... 
    plugins: "paste", 
    paste_as_text: true 
    ... 
}); 

https://www.tinymce.com/docs/plugins/paste/#paste_as_text

내가 Episerver 당신에게를 조작 할 수있는 방법을 제공한다고 가정 할 TinyMCE의 구성. 해당 구성에 paste_as_text 옵션을 추가하면 필요한 것을 수행해야합니다.

+0

감사합니다. 내 재산은 입니다. public virtual XhtmlString MainBody {get; 세트; } 그래서 episerver가 기본 Xhtml 편집기를로드합니다 ... 편집기를 재정의해야 할 수도 있지만 진행 방법을 모를 수도 있습니다. – user1641519

+0

아마도 Episerver 설명서에 대답이 있습니까? http://world.episerver.com/documentation/Items/Developers-Guide/Episerver-CMS/9/Editing/Customizing-the-TinyMCE-editor/ –

1

TinyMCEPluginNonVisual 속성을 사용하여 Episerver에서 사용자 정의 TinyMCE 플러그인을 등록 할 수 있습니다. AlwaysEnabledfalse으로 설정하면 속성 설정을 사용하여 특정 편집기/XHTML 속성에 대해 플러그인을 사용할지 여부를 결정할 수 있습니다.

(function (tinymce, $) { 

    tinymce.create('tinymce.plugins.customplugin', { 

     init: function (editor, url) { 

      editor.onPaste.add(function (editor, event) { 

       if (!event.clipboardData || !event.clipboardData.items) { 
        return; 
       } 

       // TODO Modify event.clipboardData, for example to strip out HTML tags 

      }); 
     } 
    }); 

    // Register plugin 
    tinymce.PluginManager.add('customplugin', tinymce.plugins.customplugin); 

}(tinymce, epiJQuery)); 

이 완전한 예는 아니지만, 얻을해야 당신이 올바른 방향으로 시작 (즉, 자바 스크립트 코드)

[TinyMCEPluginNonVisual(AlwaysEnabled = false, PlugInName = "customplugin")] 
public class MyCustomPlugin 
{ 

} 

귀하의 실제 TinyMCE를 플러그인은 다음과 같은 수 있습니다.

또한 official documentation을 살펴 봐야합니다.

편집 : 그냥 paste_as_text 설정을 변경하려면, 당신은 플러그인을 등록 할 수 있고 TinyMCEPluginNonVisual 속성을 통해 구성을 설정 : 피드백

[TinyMCEPluginNonVisual(EditorInitConfigurationOptions = "{ paste_as_text: true }")] 
public class PasteAsTextPlugin 
{ 

}