글출처 : http://sejin7940.co.kr/xe_tips/5954418
라이믹스 2.0.5 에서 스케치북스킨 사용시 썸네일 형태 설정 관련 - Crop 문제 개선
라이믹스는 썸네일 생성하는 getThumbnail 의 기본값이 'fill' 이다
XE 에서의 기본값은 'crop' 이다
비율 유지하며 가득 채움(fill): 썸네일 안에 여백이 없도록 적당히 확대 또는 축소하고, 상하 또는 좌우를 자릅니다. (라이믹스 새 기본값)
비율 유지하며 잘라내기(crop): 위의 fill과 같으나, 원본 이미지가 작은 경우에는 확대되지 않습니다. (기존 기본값)
스케치북 스킨은 crop 과 ratio 만 지원을 하는데
기본값 기능을 활용하고 싶어서, crop 은 설정을 해도
실젝 crop 이 전달되는게 아니라 빈값을 전달하기에 getThumbnail 의 기본값이 작동하게 된다
( 스케치북은 아무 설정을 안 했을때에도 crop 이 지정되게 하기 위해 스킨설정에서 빈값 기능을 많이 사용했다 )
그런데 라이믹스에서 기본값이 fill 이 되면서
결국 스케치북 스킨은 crop 을 아예 못 쓰게 되는 상황이 발생했다.
crop 이랑 fill 이 약간 다르기에, fill 형태가 마음에 안 드는 경우도 실제 있을 수 있고
다른 자료들 ( 위젯등 ) 에서, 마찬가지로 getThumbnail 를 사용하는데 그 곳에서는 crop 을 실제 지정해서 전달하면
썸네일이 crop 과 fill 이 다 생기는 상황도 발생할 수 있다
스케치북 스킨에서 기존처럼 crop 을 사용하고 싶다면
__setting.html 에서
if(!$mi->thumbnail_width) $mi->thumbnail_width = 90;
위에 아래 두줄 추가
if(!$mi->thumbnail_type) $mi->thumbnail_type='crop';
if(!$mi->zine_thumb_type) $mi->zine_thumb_type='crop';
이렇게 하면 기존 XE 처럼.. Crop 이 기본 지정된다
또는 아예 라이믹스에서 지원하는 5가지 썸네일 형태를 다 설정 가능하게 고치고픈 경우
위 처럼 수정 하지말고
skin.xml 에서
<var name="thumbnail_type" type="radio">
<title xml:lang="ko">섬네일 비율(*)</title>
<options value="">
<title xml:lang="ko">크롭(기본)</title>
</options>
<options value="ratio">
<title xml:lang="ko">원본 비율</title>
</options>
</var>
부분을
<var name="thumbnail_type" type="radio">
<title xml:lang="ko">섬네일 비율(*)</title>
<options value="">
<title xml:lang="ko">Fill (비율 유지하며 가득 채움) (기본)</title>
</options>
<options value="crop">
<title xml:lang="ko">Crop (비율 유지하며 잘라내기)</title>
</options>
<options value="ratio">
<title xml:lang="ko">Ratio (비율 유지하며 잘리지 않도록 함)</title>
</options>
<options value="stretch">
<title xml:lang="ko">Stretch (비율 유지하지 않고 확대 및 축소)</title>
</options>
<options value="center">
<title xml:lang="ko">Ratio (가운데 부분만 표시)</title>
</options>
</var>
<var name="zine_thumb_type" type="radio">
~~
</var>
부분의 옵션도 동일하게 변경
( 단, 이건 라이믹스 2.0.5 이상에서만 지원되고, 그 이전버전이나 XE 에서는 지원이 안 된다 )
crop이라고 쓰면 fill로 해석하도록 해버리려고 했는데,
그렇게 하면 예전에 만들어 놓은 썸네일들을 모두 다시 생성해야 하는 문제가 있어서
crop이라고 명시적으로 쓴 경우에 한하여 crop으로 처리하고 있습니다.
그러나 현재 로드맵에 따르면 결국 대부분의 썸네일을 다시 생성하는 일이 생길 가능성이 높고,
그 때는 crop = fill이 될 겁니다. crop 고집해 봐야 소용없습니다.