XE Tips 는 제가 XE 공홈에 쓴 XE 관련 유용한 팁들입니다. 기능개선은 공홈에 안 적어둔 XE 유용 개선팁들입니다.
유용정보는 외부 검색을 통해 알아낸 소스등을 기재해둔 곳입니다.
버그 신고내역들은 XE 사용하다가 발견한 버그 패치방법들로, Core Issue 에 기록해뒀기에 XE 에 적용이 되었을 가능성이 있겠죠
제가 쓴 글들에 대해 퍼가실때는 꼭 출처를남겨주시고.. (다만 플래시뷰 기반이기에 퍼가기는조금 힘들 수 있겠죠 ^^;)
타회원의 글들도 적혀있는 출처를 같이 꼭 기재해주세요
출처 | sejin7940 |
---|
등록된 이미지가 없고, 목록설정에서 요약 을 사용하지 않는 경우
본문 내부의 이미지를 썸네일화 시키지 못하는 버그가 있다.
이는 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;
위와같이 바꾸어 보았는데 잘 안되는거 같습니다.
갤러리 보드 리스트
http://cafe.jszzang.net/xe/index.php?mid=board_4&vid=sample
메인 갤러리 서머리 부분
http://cafe.jszzang.net/xe/index.php?mid=home&vid=sample
말씀하신데로 썸네일도 다 만들어 지는데 못불러 오는거 같긴 합니다만,
혹시 보실수 있으면 jszzang@jszzang.net 로 메일 부탁드려요~