[이윰] 전체검색 리스트 페이지에서 외부 이미지도 썸네일 사용하기
페이지 정보

짧은주소
-
https://yadolee.com/tip/549 주소복사
평점
본문
전체검색 리스트 페이지에서 외부 이미지도 썸네일 사용하기
전체검색에 첨부 혹은 에디터를 통해 업로드된 이미지 외에 동영상, 외부 이미지 썸네일도 보여지도록 수정해 보자
전체검색 리스트 페이지에서 동영상 썸네일 이미지도 사용하기에 추가적인 작업을 하려 한다.
1. 그누보드5/eyoom/core/search/search.skin.php를 열어 이미지 사용일 경우를 검색한다.
수정 전
2. 그누보드5/eyoom/설치된 테마/skin_bs/search/basic/search.skin.html을 열어 <!--{? ..img_content}-->를 검색하여 다음과 같이 수정한다.
수정 전
전체검색 리스트 페이지에서 동영상 썸네일 이미지도 사용하기에 추가적인 작업을 하려 한다.
1. 그누보드5/eyoom/core/search/search.skin.php를 열어 이미지 사용일 경우를 검색한다.
수정 전
if($eyoom['use_search_image'] == 'y') {
unset($data['img_content'], $data['img_src']);
$thumb = get_list_thumbnail($loop1[$idx]['bo_table'], $list[$idx][$i]['wr_id'],$eyoom['search_image_width'], $eyoom['search_image_height']);
if($tpl_name == 'bs') {
if($thumb['src']) {
$data['img_content'] = '<img class="img-responsive" src="'.$thumb['src'].'" alt="'.$thumb['alt'].'">';
$data['img_src'] = $thumb['src'];
}
} else {
if($thumb['src']) {
$data['img_content'] = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" width="'.$board['bo_gallery_width'].'" height="'.$board['bo_gallery_height'].'">';
$data['img_src'] = $thumb['src'];
}
}
}
$loop2[$i] = $data;
}
수정 후
if($eyoom['use_search_image'] == 'y') {
unset($data['img_content'], $data['img_src']);
$thumb = get_list_thumbnail($loop1[$idx]['bo_table'], $list[$idx][$i]['wr_id'], $eyoom['search_image_width'], $eyoom['search_image_height']);
if($tpl_name == 'bs') {
if($thumb['src']) {
$data['img_content'] = '<img class="img-responsive" src="'.$thumb['src'].'">';
$data['img_src'] = $thumb['src'];
}
} else {
if($thumb['src']) {
$data['img_content'] = '<img src="'.$thumb['src'].'" width="'.$board['bo_gallery_width'].'" height="'.$board['bo_gallery_height'].'">';
$data['img_src'] = $thumb['src'];
}
}
$wr_4 = unserialize($list[$idx][$i]['wr_4']); //추가 시작 - 외부동영상도 썸네일 표시
if(!$wr_4) $wr_4 = array();
if($list[$idx][$i]['wr_4'] && !$thumb['src']) {
$thumb['src'] = $wr_4['thumb_src'];
if($thumb['src']) {
if($tpl_name == 'bs') {
if($thumb['src']) {
$data['img_content'] = '<img class="img-responsive" src="'.$thumb['src'].'">';
$data['img_src'] = $thumb['src'];
} else {
$data['img_content'] = '<span style="width:100%;">no image</span>';
}
} else {
if($thumb['src']) {
$data['img_content'] = '<img src="'.$thumb['src'].'" width="'.$board['bo_gallery_width'].'" height="'.$board['bo_gallery_height'].'">';
$data['img_src'] = $thumb['src'];
} else {
$data['img_content'] = '<span style="width:'.$board['bo_gallery_width'].'px;height:'.$board['bo_gallery_height'].'px">no image</span>';
}
}
}
}
// 게시물에 동영상이 있는지 결정
$data['is_video'] = $wr_4['is_video']; //추가 끝
if (!$thumb['src']) { //추가 시작 - 외부이미지 썸네일 표시
$thumb = $eb->make_thumb_from_extra_image($loop1[$idx]['bo_table'], $list[$idx][$i]['wr_id'], $list[$idx][$i]['wr_content'], $eyoom['search_image_width'], $eyoom['search_image_height']);
if($tpl_name == 'bs') {
if($thumb) {
$data['img_content'] = '<img class="img-responsive" src="'.$thumb.'">';
$data['img_src'] = $thumb;
}
} else {
if($thumb['src']) {
$data['img_content'] = '<img src="'.$thumb.'" width="'.$board['bo_gallery_width'].'" height="'.$board['bo_gallery_height'].'">';
$data['img_src'] = $thumb;
}
}
} //추가 끝
}
$loop2[$i] = $data;
}
2. 그누보드5/eyoom/설치된 테마/skin_bs/search/basic/search.skin.html을 열어 <!--{? ..img_content}-->를 검색하여 다음과 같이 수정한다.
수정 전
<!--{? ..img_content}-->
<div class="result-list-image">
<a class="search-result-image">
{..img_content}
</a>
</div>
<!--{/}-->
수정 후
<!--{? ..img_content}-->
<div class="result-list-image">
<!--{? ..is_video}--><span class="video-icon"><i class="far fa-play-circle"></i></span><!--{/}--> <!-- 동영상 폰트어썸 표시 -->
<div class="search-result-image">
{..img_content}
</div>
</div>
<!--{/}-->
동영상 아이콘(폰트어썸)을 위해 상단 스타일 정의 .search-result-list .result-list .result-list-image 아래에 다음과 같은 스타일을 적용한다.
.search-result-list .result-list .video-icon{position:absolute;top:5px;left:5px;color:#fff;font-size:15px;line-height:15px;z-index:1}
추천인

레벨 99
경험치 1,478,262
Progress Bar 77.32%
- 가입일 : 2015-03-04 03:24:54
- 서명 : KNOW YOUR LIMITS
BUT NEVER STOP TRYING TO EXCEED THEM !!
- 자기소개 : 루루의 자랑
루루아빠랍니다~~
-
[배경 화면] 프랑스의 에귀으 듀 샤흐도네(Aiguille du Chardonnet)산으로 스위스와 접경지에 위치해 있습니다. /*0) generatedType=2; if (generatedType==2) { dMap.style.cursor = "pointer"; dMap.onclick = function(e) {initGmapsLoader(e||event)}; var t = document.createTextNode("로딩하려면 클릭하세요"), d = document.createElement("div"); d.appendChild(t); d.style.cssText="background-color:#e5e5e5; filter:alpha(opacity=80); opacity:0.8; padding:1em; font-weight:bold; text-align:center; position:absolute; left:0; box-sizing:border-box; width:100%; max-width:500px; top:0"; dMap.appendChild(d); } function CreateGMapgmap202421141257() { var dMap = document.getElementById("gmap202421141257"); if (dMap) dMap = dMap.parentNode; else dMap = document.getElementById("wgmap202421141257"); if (!dMap) return; if (dMap.ckemap) { var map = dMap.ckemap.map, center = map.getCenter(); google.maps.event.trigger(map, "resize"); map.setCenter(center); return; } dMap.onclick = null; var mapOptions = { zoom: 11, center: [45.96864,7.00157], mapType: 0, zoomControl: "Default", mapsControl: "Default", heading: 0, tilt: 0, overviewMapControlOptions: {opened:true}, pathType: "Default", googleBar: false }; var myMap = new CKEMap(dMap, mapOptions); dMap.ckemap=myMap; } if (!window.gmapsLoaders) window.gmapsLoaders = []; window.gmapsLoaders.push(CreateGMapgmap202421141257); if (generatedType==3) window.gmapsAutoload=true; window.gmapsKey="AIzaSyApiu_e4Br_dRpB-RNC3XgioygMilKhadA"; /*]]>*/ /* CK googlemapsEnd v3.6 */2024-03-05
-
[공지사항] 특별한 버그가 발견되지 않으면 공개하도록 하겠습니다.2024-01-23
-
[공지사항] 한가지를 빼먹었습니다 사운드클라우드도 썸네일을 생성합니다 사운드클라우드는 meta tag > og:image > content의 url를 통해 이미지를 추출2023-05-05
-
[공지사항] 제법 추가해야 할 소스가 많습니다 또한 외부 프로그램(php exec 함수 이용)도 필요해요 ffmpeg, youtube-dl, twitter-media-downloader 간략하게 설명을 드려 볼게요 twitter-media-downloader은 트위터 트윗 이미지를 추출하는 용도 youtube-dl은 트위터 트윗 이미지 및 동영상 url, 페이스북 watch 동영상 url를 추출하는 용도 ffmpeg는 페이스북 watch의 동영상 url를 이용해 포스터 이미지를 추출하는 용도 인스타그램은 meta tag > og:image > content의 url를 통해 이미지를 추출 그 이미지를 게시판 설정 크기로 썸네일화하기2023-05-04
-
[공지사항] 네 맞습니다. Tagify 기능이 훌륭해 변경해 놓았습니다. 한번 적용해 보세요.2022-12-25
-
[영어 문법] 7년 전 게시되었을 때에는 재생에 문제가 없었던 것으로 기억하고 있었으나 현재에는 재생 목록 파라미터가 변경된 걸로 확인했습니다. 수정완료하였으며 3000점의 경험치를 제공해 드렸습니다. 오류 제보 감사드립니다.2022-12-04
-
[공지사항] 공지와 연관되지 않는 댓글은 자제 부탁드립니다.2022-12-03
-
[공지사항] SortableJS를 이용했습니다. https://inpa.tistory.com/entry/%EB%93%9C%EB%9E%98%EA%B7%B8-%EC%95%A4-%EB%93%9C%EB%A1%AD-Drag-Drop-%EA%B8%B0%EB%8A%A5 {코드} https://github.com/SortableJS/Sortable {코드}위 두 링크를 참조해 보세요.2022-11-27
댓글
첫 번째 댓글을 남겨 주세요