조회 수 94 추천 수 0 댓글 3
Extra Form

현재 ElaAdmin 이라는 레이아웃을 배포중에 있습니다.

 

원래 라이믹스 기반으로 제작된거라 라이믹스에서는 정상적으로 작동합니다.

XE도 정상적으로 작동하는줄 알았는데..! 글쓰기에서 오류가 납니다.

 

 

일단 지금까지 알아낸 바로는 레이아웃 자체에서도 jquery.min.js 파일을 따로 로드합니다.

 

이렇게 해도 라이믹스에서는 글쓰기가 잘 됩니다.

 

(라이믹스1.9.6 용 테스트 사이트 - ID/PW : test/test)

https://sfuhost.tk/board_iigh72

 

 

반면 XE에서는 글쓰기 시 CK에디터에서는 "내용 값은 필수 입니다." 라는 경고와 함께 글이 작성되지 않고, 파일업로드가 제대로 이루어지지 않습니다.(표시만 안될 뿐 파일은 서버에 업로드 되어있습니다.) 혹시나 해서 xpresseditor 로도 확인해봤는데 js 파일이 충돌이 일어나는지 아예 글이 써지지도 않습니다.

(XE1.9.6 용 테스트 사이트 - ID/PW : test/test)

https://sfuhost.tk/xe/board_sRzJ71

 

제가 좀 더 알아본 결과로는 레이아웃에서 로드하는 jquery.min.js 파일을 아예 불러오는 라인을 삭제하면 페이지자체에서 오류가 납니다. (레이아웃에서 사용하는 custom.js 파일의 첫줄 $(function() { 부터 오류가 납니다.)

이와중에 단순히 <!-- -->를 이용해서 주석처리 하면 레이아웃의 파일이 불러와지네요.

 

일단 레이아웃에서 사용하는 jquery.min.js 파일이 아닌 /common/js/jquery.min.js 파일을 불러오게끔도 해봤는데 그때는 xpresseditor에서는 정상적으로 작동이 되고, CK에디터에는 위와 동일한 증상이 발생되었습니다.

 

해당 원인을 찾기 위해 콘솔 로그도 살펴봤지만 별 이상이 없었습니다. 

 

XE에서는 어떻게 하면 글 작성이 가능하게 할 수 있을까요?

 

 

 

참고로 XE환경에서의 콘솔 로그입니다.

 

에디터 로드 시

K-024.jpg

 

 

 

파일 첨부 후 실패

K-025.jpg

 

 

XE에서 글쓰기 문제의 원인은 무엇일까요? 이렇게 저렇게 시도해도 안되네요.

  • profile
    자답합니다. 일단 레이아웃에서 불러오는 jquery.min.js 파일을 로드하지 못하도록 해당 구문을 삭제 후 custom.js 파일의 문제되는 부분을 오류가 나지 않도록 수정하였네요.
  • profile

    jquery.min.js를 삭제하고, 소스상의 $(function() { 를 jQuery(function($) { 로 바꿔보세요.

    라이믹스에서는 $를 인식하지만 XE에서는 꼭 jQuery라고 써야 인식합니다.

    다행히 function에 첫 번째 인자로 $를 넘겨주면 그 다음부터는 그냥 $라고 써도 됩니다.

     

    jQuery처럼 XE나 라이믹스 코어에서 제공하는 것과 동일한 기능의 파일을

    레이아웃이나 스킨에 포함하여 배포하는 것은 절대 비추입니다.

    버전이 미묘하게 달라지기 때문에 여기저기서 에러가 작렬합니다...

    XE 일부 버전에서는 그냥 넣기만 해도 에러가 날 수 있고,

    라이믹스에서는 파일명이 jquery.js, jquery.min.js 등으로 되어 있으면

    아예 투명인간 취급해 버리도록 되어 있어서 그나마 작동하는 거예요.

  • profile profile
    네. 딱 그렇게 해결했습니다.

    custom.js 에서 $를 인식을 못해 억지로 jquery.min.js 파일을 레이아웃단에서 불러왔던건데 custom.js 파일을 수정해서 해결했습니다.

    덕분에 XE쓰는 분들에게 라이믹스로 넘어오라고 추천드렸네요. ㅎㅎ

서버에 요청 중입니다. 잠시만 기다려 주십시오...