묻고답하기
최근게시물에서 썸네일 추출하기
2015.07.31 14:11
아래 소스는 레이아웃에서 mid명이 gallery 인 모듈에서 최근게시물을 뽑아오는 소스입니다.
그런데 썸네일은 어떻게 추출해야 되는지 모르겠네요.
최근게시물 위젯에서 보니 $oComment->getThumbnail()이 있길래,
// $thumbnail = $oComment->getThumbnail($args->thumbnail_width,$args->thumbnail_height,$args->thumbnail_type);
// $content_item->setThumbnail($thumbnail);
코멘트 모듈의 클래스 파일을 찾아보니 코멘트 모듈에서는
문서 모듈에서 썸네일을 가져오더라고요.
문서 모듈에서 찾아보니
$thumbnail_path = sprintf('files/thumbnails/%s',getNumberingPath($val->document_srl, 3));
$thumbnail_file = sprintf('%s%dx%d.%s.jpg', $args->thumbnail_width,$args->thumbnail_height,$args->thumbnail_type);
$thumbnail_url = Context::getRequestUri().$thumbnail_file;
이렇게 가져오는것 같길래 그대로 가져와서 $thumbnail_file의 변수만 살짝 고쳐서 저렇게 써줬는데
%s가 뭔지 모르겠네요. 경로를 그대로 못 가져오는 것 같은데 혹시 뭐가 문제인지 알 수 있을까요.
어떻게 고쳐야 썸네일 url이 뜰까요?;;
{@
$mid = gallery;
$oModuleModel = getModel('module');
$module_srl = $oModuleModel->getModuleSrlByMid($mid);
$args = new stdClass();
$args->module_srl = $module_srl;
$args->list_count = 10;
$args->thumbnail_width = 180;
$args->thumbnail_height = 180;
$args->thumbnail_type = crop;
// $thumbnail = $oComment->getThumbnail($args->thumbnail_width,$args->thumbnail_height,$args->thumbnail_type);
// $content_item->setThumbnail($thumbnail);
$thumbnail_path = sprintf('files/thumbnails/%s',getNumberingPath($val->document_srl, 3));
$thumbnail_file = sprintf('%s%dx%d.%s.jpg', $args->thumbnail_width,$args->thumbnail_height,$args->thumbnail_type);
$thumbnail_url = Context::getRequestUri().$thumbnail_file;
$list = executeQuery('document.getDocumentList',$args)->data;
}
<ul>
<li loop="$list => $key, $val"><a href="{$val->document_srl}" title="{$val->title}"><span class="thumb"><img src="{$thumbnail_url}" alt="" /></span><span class="subject">{$val->title}</span></a></li>
</ul>
댓글 4
-
sejin7940
2015.07.31 17:19
-
이온디
2015.07.31 18:00
감사합니다. %s는 이해했습니다. 문자열 포맷으로 문자열을 출력해주는 거군요.
일단 그럼 그 문제는 아닌 것 같고,
아래 소스에서
$thumbnail_path = sprintf('files/thumbnails/%s',getNumberingPath($this->document_srl, 3));
$thumbnail_file = sprintf('%s%dx%d.%s.jpg', $thumbnail_path, $width, $height, $thumbnail_type);
$thumbnail_url = Context::getRequestUri().$thumbnail_file;getNumberingPath($this->document_srl, 3) 이 부분이 뭔지 좀 더 알아보면 될 것 같네요. ;;
-
sejin7940
2015.07.31 19:17
getNumberingPath 는 XE 에서 폴더 만드는 규칙입니다
글번호를 3자리씩 잘라서, 역순으로 폴더를 생성합니다.
자세한건..
config/func.inc.php 파일에 정의되어있습니다. -
이온디
2015.07.31 20:23
어쩐지 생뚱맞게 폴더랑 파일이 '새로' 만들어져있더라고요.
있는 폴더를 가져오려고 하는데, 문제는 해당 document_srl을 못 가져와서인것 같네요...;ㅁ;
%s 를 이해하시려면, sprintf 를 검색해보시면 나올거예요. php 함수입니다.