소스 파일을 수정하는 것이므로 반드시 백업을 하시길 권합니다.
게시판의 썸네일 생성 함수를 응용해 원본 이미지를 구하는 함수를 만들어
이를 게시판 썸네일에 링크 시키는 방식입니다.
1. (수정) modules/document/document.item.php 에서 } ?> 위에 다음 함수를 추가합니다.
※ (09.10.24 수정) 함수에 오류가 있어 수정했습니다.
function getThumbSourceFile() {
// 썸네일 원본 파일 출력함수
if($this->get('uploaded_count')) {
$oFileModel = &getModel('file');
$s_file_list = $oFileModel->getFiles($this->document_srl);
$s_source_file = $s_file_list[0]->uploaded_filename;
}
// 첨부된 파일이 없으면 내용중 이미지 파일을 구함
if(!$s_source_file) {
$content = $this->get('content');
$s_target_src = null;
preg_match("/src=(\"|')([^\"' ]*?)(\"|')/is", $content, $s_matches);
$s_target_src = trim($s_matches[2]);
$s_source_file = $s_target_src;
}
return $s_source_file;
}
}
?>
2. 게시판 스킨의 썸네일 링크 부분을 수정합니다. xe_official 게시판 스킨의 웹진 스타일을 예로 들면
modules/board/skins/xe_official/_style.webzine.html 에서 아래 부분을 찾아
<a href="{getUrl("document_srl',$document->document_srl,'listStyle',$listStyle, 'cpage','')}" class="thumb"><img src="{$document->getThumbnail($module_info->thumbnail_width, $module_info->thumbnail_height, $module_info->thumbnail_type)}" alt="" /></a>
다음과 같이 수정합니다.
<a href="{$document->getThumbSourceFile()}" class="thumb" target='_blank'><img src="{$document->getThumbnail($module_info->thumbnail_width, $module_info->thumbnail_height, $module_info->thumbnail_type)}" alt="" /></a>
<span class="thumb"><a href="{$document->getThumbSourceFile()}" class="highslide" onclick="return hs.expand(this)"><img src="{$document->getThumbnail($module_info->thumbnail_width, $module_info->thumbnail_height, $module_info->thumbnail_type)}" alt="" /></a></span>
4. 갤러리 스타일 역시 썸네일 부분을 찾아 위와 같은 방식으로 수정하면 됩니다.
xe_official 게시판 스킨을 예로 들면 위의 2번 디렉토리에서 _style.gallery.html 파일을 아래와 같은 식으로 수정합니다.
<a href="{$document->getThumbSourceFile()}" target="_blank"><img src="{$document->getThumbnail($module_info->thumbnail_width, $module_info->thumbnail_height, $module_info->thumbnail_type)}" alt=""/><!--@if($module_info->use_category == "Y" && $document->get('category_srl'))--><strong class="category">{$category_list[$document->get('category_srl')]->title}</strong><!--@end--></a>
<a href="{$document->getThumbSourceFile()}" class="highslide" onclick="return hs.expand(this)"><img src="{$document->getThumbnail($module_info->thumbnail_width, $module_info->thumbnail_height, $module_info->thumbnail_type)}" alt=""/><!--@if($module_info->use_category == "Y" && $document->get('category_srl'))--><strong class="category">{$category_list[$document->get('category_srl')]->title}</strong><!--@end--></a>