2017-11-08 1 views
1

Magnolia-Team은 (DevelopingCustomBlocks)에 블록에 RichTextFieldDefinition을 사용할 수 없다고 썼습니다.Magnolia 5.5.6 Stories App 사용자 지정 CKEditor 패널

페이지 대신 미래에 컨텐츠 편집기를 사용하고 싶습니다. 편집기 패널 범위를 확장 할 수 있습니까?Editor-Panel (RichTextField와 함께 사용하기 위해 만든) ckeditor 용 (사용자 정의) 플러그인이 있습니까? 그렇다면 어떻게 달성 할 수있는 힌트를 줄 수 있습니까?

답변

2

가능하며 표준 RichTextField을 사용할 수도 있습니다. 그러나 확장을 시작하기 전에 새로운 편집기, 작업중인 구조, 저장하는 데이터 구조 및 나중에 사용자가 확장 기능을 사용하여 탈출하기가 어려울 수있는 구멍을 파지하지 않도록 데이터를 조작하는 방법을 이해해야합니다 .

전체 편집기는 편집에 유창하고 조작하기가 매우 쉽기 때문에 최대의 자유를 제공합니다. 편집기는 블록의 개념과 함께 작동합니다. Enter 키를 누를 때마다 새로운 유형의 텍스트 블록이 생성됩니다. Magnolia가 제공하는 다른 유형의 블록이 있습니다. 각기 다른 유형의 블록은 별도로 저장되며 템플릿을 통해 렌더링을 제어 할 수 있습니다. 예 : 각 텍스트 블록은 선택에 따라 html로 단락 또는 div가됩니다. 다른 블록의 경우 다른 유형의 요소를 생성 할 수 있습니다. 그리고 여기가주의해야합니다. CK editor를 확장하거나 default/old RichTextField을 사용하기 시작하면, 갑자기 html을 포함하고있는 블록이 생겨 갑자기 그 블록이 템플릿에 의해 처리 된 결과와 html이 유효한지 여부를 예측할 수 없게됩니다 또는 형식이 잘 갖추어져 있어야합니다. 각 블록에서 "구워지는"html의 수가 적을수록 더 쉽게 템플릿이 만들어집니다.

텍스트 블록에 추가 플러그인을 추가하는 경우 편집기의 config.js을 수정할 수 있으며 RichTextField을 추가하면이 필드를 제공 할 블록을 만들 수 있습니다. 그러나 처음에는 잠재적으로 위험한 html을 도입 할 위험에 처하게되며, 두 번째로는 위험한 html로 굽는 것과 RTF가 다른 블록에 사용할 수있는 것과 동일한 키보드 단축키를 지원하지 않으므로 편집 경험이 뛰어날 위험이 있습니다.

관련 문제