웹마스터 팁

출처 - http://sejin7940.co.kr/index.php?mid=xe_tips&document_srl=35563

제 홈피에 적어둔 글이다보니, 말이 짧습니다. 양해바랍니다 ^^

 

----------------------------------

 

등록된 이미지가 없고, 목록설정에서 요약 을 사용하지 않는 경우
본문 내부의 이미지를 썸네일화 시키지 못하는 버그가 있다.

 

이는 columnList 라는게 XE 1.5 에서 추가되면서 쓰면서,

목록설정에서 요약이 없는한  $this->get('content') 값이 전달되지 않기 때문이다. 

왜냐하면 썸네일 생성하는 문구의 초반에 이 값이 있는지 여부로 썸네일 추출여부를 결정하기 때문이다.

 

글을 등록한 직후인 view 페이지에서는 이 값이 존재한다.

따라서 글 등록한 후에 아래의 목록상에서는 썸네일이 존재하는듯 보이나

목록으로 들어오면 안 보인다.

 

사실 view 페이지에서 벌써 썸네일은 생성이 되어있다.

단지, 목록에서 썸네일을 가져올때  (참고로, 의외로 썸네일 생성하는 함수랑 썸네일 불러오는 함수가 동일하다 ^^  makeThumbnail 이 따로 없다.)

제일 상단에서 이 get('content') 가 없어, 만들어져있는 썸네일을 가져오기전에 return 되어버려 빈 썸네일이 생기는 것이다.

 

추후 공식패치가 나오긴하겠지만

임시적인 해결방법을 설명하면...

 

modules/document/document.item.php 에서

 

        function getThumbnail  에서  대략 587번째 줄 즈음에 있는

 

          // Return false if neither attachement nor image files in the document  바로 아래의


          if(!$this->get('uploaded_count') && !preg_match("!<img!is", $this->get('content'))) return;

 

 

부분을 아래걸로 대체하면 버그가 고쳐진 상태에서 정상 작동한다.

 

 

   $args->document_srl = $this->document_srl;
   $output = executeQuery('document.getDocument', $args, $this->columnList);
   $content = $output->data->content;
    if(!$this->get('uploaded_count') && !preg_match("!<img!is", $content)) return;

 

 

 

 

제목 글쓴이 날짜

등록된 글이 없습니다.