커뮤니티토픽게시판

아래 질문에 기진곰님 댓글에서 힌트를 얻어 XE에서 해결했던 내용을 검토 해봤습니다.

 

깃허브 댓글 내용
원인을 찾았습니다.
common/js/plugins/ckeditor/ckeditor/config.js 파일에서 커스텀 설정을 사용할 때 코어 설정을 덮어버리는 것이 원인이었습니다.
위 파일에서 아래와 같이 변경해주세요
(변경 후 댓글 달아주시면 제가 기기로 확인하겠습니다.)

// ,enterkey 추가
config.removePlugins = 'link,language,bidi,enterkey';



라이믹스에서 적용
라이믹스에서 플러그인 제거 항목에 , enterkey 를 추가해주면 됩니다.

 

ps.나머지 사이트는 ios 에디터 문제 해결 안되면 라이믹스 전환이 불가능했는데 다행이네요.

 

 

 

 

 

제가 플러그인제거에  enterkey를 추가해보니 엔터시 밑에 타이핑한게 위로 올라가는 문제가 해결됩니다.

 

 

XE에서는 ios에서만 플러그인이 제거되도록 제거를 최소화 했습니다.

https://github.com/xpressengine/xe-core/commit/73cfb931cc2a13ec69ee696db20a6a810e406100

 

혹시 그냥 제거해도 되는지 아니면 ios에만 제거해야 하는지 또는 제거하면서 XE에서는 다른 별도 작업을 해준건지 검토를 해주시면 좋겠습니다.

 

현재 특별한 문제는 없는 것 같긴 합니다.

글쓴이 웹지기

profile
XE와 라이믹스를 운영하며 알게된 노하우를 공유합니다.
https://rxtip.kr/ 라이믹스 꿀팁
  • profile
    modules/editor/skins/ckeditor/editor.html

    if (CKEDITOR.env.iOS) 조건 밑에

    settings.ckeconfig.extraPlugins = (settings.ckeconfig.extraPlugins ? (settings.ckeconfig.extraPlugins + ',') : '') + 'divarea,ios_enterkey';

    이 줄 아래에

    settings.ckeconfig.removePlugins = (settings.ckeconfig.removePlugins ? (settings.ckeconfig.removePlugins + ',') : '') + 'enterkey';

    이렇게 한 줄 더 추가해 주고, 목록에 제대로 추가된 것까지 확인했습니다만
    여전히 iOS에서 줄바꿈이 안되네요.
  • profile profile
    저희는 설정에서
    liststyle, tabletools, contextmenu, pastefromword.clipboard, copyformatting, pastefromword, pastetext, tableselection, enterkey

    이렇게 해주는 것만으로 줄바꿈이 잘 되고 문제가 발생하지 않고 있습니다. enterkey 를 빼면 다시 증상이 발생하구요.
  • profile profile

    editor.html 고치신거면 브라우저캐시 비워야 하지 않나요??

  • profile profile
    editor.html은 페이지 소스에 박혀서 나오는 내용이므로 새로고침만 해도 됩니다.
    제거하신 플러그인이 꽤 많네요. 다른 플러그인과의 상호작용도 확인해 봐야겠습니다.
  • profile profile

    아.. js 변경내용이 아니죠.

     

    저건 붙여넣기 이슈로 contextmenu 를 제거하기 위해 의존성 자료들까지 모두 제거하려고 해서 저 목록을 제거하게 된 것입니다.

     

  • profile profile
    contextmenu 의존성 제거는 liststyle, tabletools, tableselection, contextmenu 이렇게 4개로 충분하다고 알고 있습니다. 라이믹스에서도 이 4개는 기본으로 제거하는 설정이 들어가 있고요.
  • profile profile

    일단 제가 파악한건 실제로 XE시절에 코어에서 제거해 주기 전에 해보니 저 목록을 다 제거해야 해서 저렇게 되었었습니다.

     - 혹은 이게 아니고 여기 타운의 답변에 있는 것을 참조해서 넣었을 수 도 있구요.(타운의 답변들의 원 소스가 저 일 수 있거든요.)

    혹시 저 처럼 설정에서 저렇게 제거해 보시고 결과를 비교해 보시면 원인 파악에 도움이 될지도 모르겠습니다.

  • profile profile

    모두 추가해 봐도 변화가 없네요. 버전 차이인 건지..

    혹시 사이트를 XE로 운영하시던 시절의 일부 파일이나 캐시가 남아 있어서 잘 되는 것 아닌가요?

  • profile profile
    글쎄요..

    위 리스트 그대로 설정에 유지하고
    editor.html 에 settings.ckeconfig.removePlugins = (settings.ckeconfig.removePlugins ? (settings.ckeconfig.removePlugins + ',') : '') + 'enterkey';

    요거 추가해줘도 잘 해결이 됩니다.

    enterkey 플러그인 제거를 안하면 증상이 바로 발생합니다.
  • profile profile

    아니면 저희는 서드파티 프로그램 에디터자동완성 모듈을 사용하는데 여기에 추가되는 플러그인 들이 있긴합니다. 이게 영향을 줄수도 있을지는 의문이긴 합니다만... 에디터에 관련된 플러그인 들이긴 하고 해당 자료가 타이핑에 관여를 하기도 합니다.

    그런데 enterkey 플러그인을 제거하면 괜찮아지는게 전제조건에 따라 달라지는게 의문스럽긴 합니다.

    (XE 시절에도 서드파티와는 별개로 해결을 했었을 거라...)

  • profile

    일단 단순히 플러그인을 추가나 제거하는 거라면 코어를 수정해서 하는
    common/js/plugins/ckeditor/ckeditor/config.js 파일 변경보다
    사이트 관리자 페이지 > 고급 > 에디터에서 끄트머리에 보면
    추가 플러그인 로드, 플러그인 제거 항목이 있는데 거기에서 수정을 해도 반영이 되더라구요.

  • profile profile

    정확히 어떤 것을 말씀하려고 하시는지 약간 햇깔리지만..
    XE나 라이믹스에서 ios에만 대응하려는 부분은 설정에 입력해서 반영하도록 하지 않고 있습니다.
    그리고 라이믹스에서는  config.js 에서 할 필요조차 없죠.


    물론 테스트를 위해서 설정에서 플러그인제거에 enterkey 플러그인을 추가해서 우선적으로 해결이 되는지 확인은 해볼 수 있고 확인이 되었습니다.

    혹시 운영하시는 라이믹스에서도 저처럼 ios 타이핑의 엔터 문제가 해결이 되셨다는 말씀 이신가요?

  • profile profile

    완벽하게 해결은 안되었습니다.
    저는 에디터 자동완성 모듈과 함께 쓰는데 이 때 문제가 발생합니다.
    특히 enterkey 플러그인을 제거하고 난 후 백스페이스를 눌러 글을 삭제하는 경우 에디터 영역을 넘어 레이아웃의 div 요소까지 삭제해버리는 엄청난 버그가 있어서 그냥 기본으로 사용하고 있습니다.

    큰 문제는 없긴 한데, 하하하(엔터)하하 이런식으로 글을 작성하면 엔터가 안먹히는 오류가 있습니다. 어느 CK 에디터를 사용해도 마찬가지 입니다.

    (그 문제로 이야기 되었던 글입니다. - https://studyforus.com/help/687343 )

     

     

    그리고 댓글에 제가 썼던 내용은 관리자의 에디터 설정에서 CK에디터의 플러그인을 쉽게 추가하거나 제거할 수 있는 옵션이 있다는 말이었습니다.

    K-013.jpg

    하지만 대댓글을 보니 이미 알고 계신것 같군요.

  • profile profile
    네. 그래서 다른 브라우저들에게는 불편을 주지 않고 ios에서만 제거하는 방법을 쓰는게 현재로서는 최선이겠죠. ios는 지금 엔터 자체를 쓰기 힘들정도니까요.

    editor.html 에 ios만 적용되는 플러그인 제거 한줄 추가를 추천해 드립니다. 앞으로 라이믹스에서 반영해주시면 좋겠죠.
  • profile profile
    가급적 코어를 건드리고 싶지않아서 일단은 그대로 두지만 차기 버전에서 적용 해주었으면 하네요~
  • profile profile

    develop 브랜치에 적용되었습니다. iOS에서 접속하면 "플러그인 제거"란에 입력한 것 외에도 enterkey가 자동으로 제거됩니다.

    그것과는 별도로, 모바일에서 이미지 첨부 등을 할 수 있는 심플 에디터라는 대체품을 개발하고 있습니다. CKEditor는 안그래도 무거운데다가 iOS에서는 키를 입력할 때마다 추가로 체크해야 할 것이 많아서 무척 버벅거리더라구요. Textarea는 이미지나 동영상을 본문에 삽입할 수 없고, 상용 자료인 Textarea Plus는 실제 이미지가 아닌 코드가 들어가기 때문에 직관적이지 않습니다. 이런 단점들을 서로 어느 정도 절충하여 모바일에서 기본으로 쓸 만한 옵션을 제공하려고 합니다.

  • profile profile
    이것도 선택의 문제이지만 운영자 혹은 사이트 이용자 입장에서는 다양한 미디어의 인용 그리고 여러 미디어파일의 운용등을 생각한다면 서드파티에서 가장 많이 지원하며 발전해 온 CK에디터를 떠나 다른 에디터를 채용하기 굉장히 어려운게 현실입니다.

    단순히 기존의 것을 버리고 새로운 것을 선택하기 힘들어하는 그런 막연한 두려움이나 그런 것은 아니란 것이라는 점은 이해해 주시면 좋겠네요.

    텍스트를 쓰는데 불편함이 하나도 없고 깔끔하며 가벼운 것을 선택한다면 당연히 말씀하신 구조의 에디터가 최선인데 모바일의 발전을 통해 사이트 이용자들의 요구가 모바일에서도 무거운 에디터를 적용하기를 원하는 방향이었던 것 같습니다.
  • profile profile
    코어에 반영되는군요. 미리 적용해 두었는데 감사합니다!!
  • profile profile

    막연한 두려움이 아니라 지금까지는 아예 선택지가 없었기 때문에, 말 나온 김에 하나 만들어서 추가하는 것입니다. 양쪽 모두 정상 작동한다면 어느 쪽을 선택하든 운영자분 마음이지요.

  • profile profile

    그 와중에 라르게덴님이 PR을 작성해 주셨네요. ios_enterkey 플러그인을 수정해서 해결하신 것 같습니다.

    iOS 사용자들에게는 좋은 날이네요~ ㅎㅎ

  • profile profile
    네. 사실 선택지 중 선택할 수 있는게 생기는게 좋은 일이죠. 최종적으로는 시대에 맞춰서 필요한 미디어나 파일들의 처리가 간단한 에디터에서 처리가 가능해 진다면 모바일에서 채용하기에 부담이 없는 것을 넘어 오히려 환영받는 선택지가 될 수 있다고 생각합니다.

    모바일에서 첨부 그리고 조금 더 편리한 사용을 원했을때 대응이 PC의 에디터를 모바일에서 사용하게 하는 것의 방향으로 정해졌었기 때문에 지금의 상황이 굳어진 거니까요.
  • profile profile
    오.. 그럼 더 좋은 해결책이 도 나온건가요?? 이제 라이믹스로 빨리 넘어와서 적응해야 할 상황입니다 ㅎ
  • profile profile
    와.. 진짜 너무 감사합니다.
    기대하고 있겠습니다. 항상 노고에 감사합니다!