외부이미지 리스트의 썸네일로 사용하기 - 2 정보
외부이미지 리스트의 썸네일로 사용하기 - 2본문
지난 번 링크 내용은 처음부터 게시글을 작성해야 하고 중간에 바꾸면 기존의 게시글은 일일이 수정해야 하는 번거러움이 있어서... 개개의 wr_content 에서 첫번째 외부 이미지를 찾아내는 방법으로 바꾸어 보았습니다.
이럴 경우 기존의 게시글을 수정할 필요가 없어집니다.
1. 외부 이미지가 있을 경우 외부 이미지를 먼저 썸네일로 보여주고
2. 외부 이미지가 없으면 기존의 방식으로 썸네일이 보여집니다.
gallery 스킨 list.skin.php 에서 class="gall_img" 인 div 를 찾아 그 div 를 아래의 코드로 바꾸어 줍니다.
<div class="gall_img" style="<?php if ($board['bo_gallery_height'] > 0) echo 'height:'.$board['bo_gallery_height'].'px;max-height:'.$board['bo_gallery_height'].'px'; ?>">
<?php
$out_img = '';
$out_image = explode('<img src=', $list[$i]['wr_content']);
for ($img = 0; $img < count($out_image); $img++) if ($out_img == '' && strpos(explode('"', $out_image[$img])[1], G5_URL.'/') === false) $out_img .= explode('"', $out_image[$img])[1];
?>
<a href="<?php echo $list[$i]['href'] ?>">
<?php if ($list[$i]['is_notice']) { ?> <span class="is_notice" style="<?php echo $line_height_style; ?>">공지</span>
<?php } else {
$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height'], false, true);
$thumb['src'] = $out_img ? $out_img : $thumb['src'];
if ($thumb['src']) $img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" >';
else $img_content = '<span class="no_image" style="'.$line_height_style.'">no image</span>';
echo run_replace('thumb_image_tag', $img_content, $thumb);
} ?>
</a>
</div>
추천
3
3
댓글 18개
아주 많이 좋아졌네요.. 사이트명이 변경되어도 썸네일이 나오고..
감사합니다.
감사합니다.
@들레아빠
코드를 보면 이미지태그 src 에서 G5_URL.'/' 가 들어간 건 제외하고 있으니 외부이미지만을 가져오게 됩니다.
코드를 보면 이미지태그 src 에서 G5_URL.'/' 가 들어간 건 제외하고 있으니 외부이미지만을 가져오게 됩니다.
감사합니다
@강다리 감사합니다
외부이미지 리스트의 썸네일로 사용하기 - 2
@연탄집개 감사합니다
감사합니다. 잘 사용 하겟습니다.
@테니 감사합니다
대단하네요 ㅎㅎㅎ
@검은고양이1983 감사합니다
@비타주리 :
공개해 주신 비법을 감사히 사용하겠습니다.
그런데, 코드를 바꾼 후 아래와 같은 에러가 납니다.
Parse error: syntax error, unexpected '[' in /설치경로/list.skin.php on line 117
'[' 의 문제를 찾아보려고 했으나 실패하고 문의드립니다. 어떻게 해결해야 할지요??
제 파일에서 line 117에는 이렇게 적혀 있습니다.
<?php
$out_img = '';
$out_image = explode('<img src=', $list[$i]['wr_content']);
for ($img = 0; $img < count($out_image); $img++) if ($out_img == '' && strpos(explode('"', $out_image[$img])[1], G5_URL.'/') === false) $out_img .= explode('"', $out_image[$img])[1];
?>
적용은 그누보드 5.5.1버전이며, 스킨은 skin/board/gallery/list.skin.php 에 했었습니다.
혹시 가능하시면 에러 찾기에 도움 주셨으면 합니다.
감사합니다.
공개해 주신 비법을 감사히 사용하겠습니다.
그런데, 코드를 바꾼 후 아래와 같은 에러가 납니다.
Parse error: syntax error, unexpected '[' in /설치경로/list.skin.php on line 117
'[' 의 문제를 찾아보려고 했으나 실패하고 문의드립니다. 어떻게 해결해야 할지요??
제 파일에서 line 117에는 이렇게 적혀 있습니다.
<?php
$out_img = '';
$out_image = explode('<img src=', $list[$i]['wr_content']);
for ($img = 0; $img < count($out_image); $img++) if ($out_img == '' && strpos(explode('"', $out_image[$img])[1], G5_URL.'/') === false) $out_img .= explode('"', $out_image[$img])[1];
?>
적용은 그누보드 5.5.1버전이며, 스킨은 skin/board/gallery/list.skin.php 에 했었습니다.
혹시 가능하시면 에러 찾기에 도움 주셨으면 합니다.
감사합니다.
@비타주리 : 버전 문제였군요. ㅠ.ㅠ 호스팅 회사에서 5버전대를 돌리고 있어서 안 되나 봅니다. ㅠㅠ
최근게시물에 외부 이미지가 나오게 하려고 하는데 잘 안되네요
<?php
for ($i=0; $i<count($list); $i++) {
$youtube_url = $list[$i]['wr_link1'];
$youtube_id = str_replace('http://youtu.be/','',$youtube_url);
$youtube_id = str_replace('https://youtu.be/','',$youtube_id);
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true);
if($youtube_id) {
$img = 'https://img.youtube.com/vi/'.$youtube_id.'/hqdefault.jpg';
} else if($thumb['src']) {
$img = $thumb['src'];
} else {
$img = G5_IMG_URL.'/no_img.png';
$thumb['alt'] = '이미지가 없습니다.';
}
$img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
?>
<li>
<a href="<?php echo $list[$i]['href'] ?>" class="lt_img"><?php echo $img_content; ?></a>
<?php
if ($list[$i]['icon_secret']) echo "<i class=\"fa fa-lock\" aria-hidden=\"true\"></i><span class=\"sound_only\">비밀글</span> ";
if ($list[$i]['icon_new']) echo "<img src=\"{$board_skin_url}/img/new.jpg\"><span class=\"sound_only\">새글</span></span>";
if ($list[$i]['icon_hot']) echo "<span class=\"hot_icon\">H<span class=\"sound_only\">인기글</span></span>";
기존에 있는 소스인데... 조금만 수정하면 될듯 하는데 잘 안되는데 도움 부탁드립니다
<?php
for ($i=0; $i<count($list); $i++) {
$youtube_url = $list[$i]['wr_link1'];
$youtube_id = str_replace('http://youtu.be/','',$youtube_url);
$youtube_id = str_replace('https://youtu.be/','',$youtube_id);
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], $thumb_width, $thumb_height, false, true);
if($youtube_id) {
$img = 'https://img.youtube.com/vi/'.$youtube_id.'/hqdefault.jpg';
} else if($thumb['src']) {
$img = $thumb['src'];
} else {
$img = G5_IMG_URL.'/no_img.png';
$thumb['alt'] = '이미지가 없습니다.';
}
$img_content = '<img src="'.$img.'" alt="'.$thumb['alt'].'" >';
?>
<li>
<a href="<?php echo $list[$i]['href'] ?>" class="lt_img"><?php echo $img_content; ?></a>
<?php
if ($list[$i]['icon_secret']) echo "<i class=\"fa fa-lock\" aria-hidden=\"true\"></i><span class=\"sound_only\">비밀글</span> ";
if ($list[$i]['icon_new']) echo "<img src=\"{$board_skin_url}/img/new.jpg\"><span class=\"sound_only\">새글</span></span>";
if ($list[$i]['icon_hot']) echo "<span class=\"hot_icon\">H<span class=\"sound_only\">인기글</span></span>";
기존에 있는 소스인데... 조금만 수정하면 될듯 하는데 잘 안되는데 도움 부탁드립니다
@크레이티브 그냥 편하게 보여지고픈 유튜브 이미지를 게시글의 첫번째 첨부파일로 올리고 기존의 최신글 스킨을 쓰는걸 권해드립니다.
감사합니다.
@ArangVs 감사합니다
썸네일은 잘 나오는데
마우스를 썸네일에 갖다대면(alt)
사용자가 올린 이미지
이렇게 나오네요
해당 글의 제목이 나오게 하려고
아무리 수정해도 '사용자가 올린 이미지'만 계속 나옵니다.
뭔가 힌트를 좀 주시면 감사하겠습니다~