썸네일 크롭 위치 채택완료

↑
게시 본문글 이미지

↑
제가 원하는 갤러리방식 썸네일 목록 이미지
여기 검색하다 해보고.. 해결안되서 문의합니다.
크롭 위치 변경하려고 했는데 왼쪽 가능하지만 오른쪽 불가능하네요.
lib/thumbnail.lib.php
586번 부문
---------------------------------------------------------------------------------------------
if($is_large) {
// 크롭처리
if($is_crop) {
switch($crop_mode)
{
case 'right':
if($size[1] / $size[0] >= $ratio) {
$src_h = round($src_w * $ratio);
$src_y = round(($size[1] - $src_h) / 2);
} else {
$src_w = round($size[1] / $ratio);
$src_x = round(($size[0] - $src_w) / 2);
}
break;
default:
if($size[1] / $size[0] >= $ratio) {
$src_h = round($src_w * $ratio);
} else {
$src_w = round($size[1] / $ratio);
}
break;
}
---------------------------------------------------------------------------------------------
case 'center'에서 case 'right' 고쳐봤지만.. 여전히 왼쪽으로 되어있네요.
혹시나 해서 썸네일 파일 일괄삭제해보고 시도해봤지만 마찬가지네요.
오른쪽으로 지정할 수 있게 방법이 없을까요?
답변 2개
lib/thumbnail.lib.php
</p>
<p>
switch($crop_mode)
{
case 'center':
if($size[1] / $size[0] >= $ratio) {
$src_h = round($src_w * $ratio);
$src_y = round(($size[1] - $src_h) / 2);
} else {
$src_w = round($size[1] / $ratio);
$src_x = round(($size[0] - $src_w) / 2);
}
break;</p>
<p> case 'right':
if($size[1] / $size[0] >= $ratio) {
$src_h = round($src_w * $ratio);
$src_y = round(($size[1] - $src_h) / 2);
} else {
$src_w = round($size[1] / $ratio);
$src_x = round($size[0] - $src_w);
}
break;
default:
if($size[1] / $size[0] >= $ratio) {
$src_h = round($src_w * $ratio);
} else {
$src_w = round($size[1] / $ratio);
}
break;
}
</p>
<p>
위처럼
case 'right':
...
break;
를 추가해주시고요.
list.skin.php
</p>
<p>$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height'], false, true, 'right');</p>
<p>
get_list_thumbnail() 함수 중 맨 마지막에 'right'를 추가해보시기 바랍니다.
위대로 수정해보시기 바랍니다.
답변에 대한 댓글 3개
테스트 해보았는데 정상적으로 작동합니다..
http://gnudev.cafe24.com/bbs/board.php?bo_table=gallery
다시 확인해보니 잘 나오네요~ 정말 감사드려요~
댓글을 작성하려면 로그인이 필요합니다.
get_list_thumbnail() 파일의 위치는
for()문 안에 있어야 합니다.
다시 한번 위치 확인해보시기 바랍니다.
</p>
<p>
<?php for ($i=0; $i<count($list); $i++) {</p>
<p> $classes = array();</p>
<p> $classes[] = 'gall_li';
$classes[] = 'col-gn-'.$bo_gallery_cols;</p>
<p> if( $i && ($i % $bo_gallery_cols == 0) ){
$classes[] = 'box_clear';
}</p>
<p> if( $wr_id && $wr_id == $list[$i]['wr_id'] ){
$classes[] = 'gall_now';
}
?>
<li class="<?php echo implode(' ', $classes); ?>">
<div class="gall_box">
<div class="gall_chk">
<?php if ($is_checkbox) { ?>
<label for="chk_wr_id_<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['subject'] ?></label>
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
<?php } ?>
<span class="sound_only">
<?php
if ($wr_id == $list[$i]['wr_id'])
echo "<span class=\"bo_current\">열람중</span>";
else
echo $list[$i]['num'];
?>
</span>
</div>
<div class="gall_con">
<div class="gall_img">
<a href="<?php echo $list[$i]['href'] ?>">
<?php
if ($list[$i]['is_notice']) { // 공지사항 ?>
<span class="is_notice">공지</span>
<?php } else {
$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height'], true, true, 'right');</p>
<p> if($thumb['src']) {
$img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" >';
} else {
$img_content = '<span class="no_image">no image</span>';
}</p>
<p> echo $img_content;
}
?>
</a>
</div>
<div class="gall_text_href">
<?php
// echo $list[$i]['icon_reply']; 갤러리는 reply 를 사용 안 할 것 같습니다. - 지운아빠 2013-03-04
if ($is_category && $list[$i]['ca_name']) {
?>
<a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a>
<?php } ?>
<a href="<?php echo $list[$i]['href'] ?>" class="bo_tit">
<?php echo $list[$i]['subject'] ?>
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><span class="cnt_cmt">+ <?php echo $list[$i]['wr_comment']; ?></span><span class="sound_only">개</span><?php } ?>
<?php
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }</p>
<p> if (isset($list[$i]['icon_new'])) echo rtrim($list[$i]['icon_new']);
if (isset($list[$i]['icon_hot'])) echo rtrim($list[$i]['icon_hot']);
//if (isset($list[$i]['icon_file'])) echo rtrim($list[$i]['icon_file']);
//if (isset($list[$i]['icon_link'])) echo rtrim($list[$i]['icon_link']);
if (isset($list[$i]['icon_secret'])) echo rtrim($list[$i]['icon_secret']);
?>
</a>
</div>
<div class="gall_name">
<span class="sound_only">작성자 </span><?php echo $list[$i]['name'] ?>
</div>
<div class="gall_info">
<span class="sound_only">조회 </span><i class="fa fa-eye" aria-hidden="true"></i> <?php echo $list[$i]['wr_hit'] ?>
<?php if ($is_good) { ?><span class="sound_only">추천</span><strong><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?></strong><?php } ?>
<?php if ($is_nogood) { ?><span class="sound_only">비추천</span><strong><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <?php echo $list[$i]['wr_nogood'] ?></strong><?php } ?>
<span class="gall_date"><span class="sound_only">작성일 </span><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $list[$i]['datetime2'] ?></span>
</div>
</div>
</div>
</li>
<?php } ?>
<?php if (count($list) == 0) { echo "<li class=\"empty_list\">게시물이 없습니다.</li>"; } ?></p>
<p>
답변에 대한 댓글 1개
게시글 본문에 html 모드로 전환해서 <img src="외부이미지 경로"> 지정했을 때..
외부이미지 서버에 저장하지 않고 썸네일없이 제대로 나오는 방법은 어떻게 해결하나요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
list.skin.php 파일은
skin/board/gallery/list.skin.php
여기다 추가하시면 되는건가요? 테스트해보니 여전히 가운데 크롭되어 나오네요..;
[code]
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css" media="screen">', 0);
// 이미지 비율
$thumb_w = $board['bo_'.MOBILE_.'gallery_width'];
$thumb_h = $board['bo_'.MOBILE_.'gallery_height'];
$img_h = apms_img_height($thumb_w, $thumb_h); // 이미지 높이
$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height'], false, true, 'right');
// 너비
$item_w = apms_img_width($board['bo_gallery_cols']);
// 간격
$gap_right = ($boset['gap_r'] == "") ? 15 : $boset['gap_r'];
$gap_bottom = ($boset['gap_b'] == "") ? 30 : $boset['gap_b'];
$ellipsis = (G5_IS_MOBILE) ? '' : ' class="ellipsis"';
$ellipsis = ($thumb_h > 0) ? $ellipsis : '';
$list_cnt = count($list);
?>
[/code]