테스트 사이트 - 개발 중인 베타 버전입니다

관리자 배너관리에서 배너 추가시 이미지를 2개 등록하려면... 채택완료

coDribble 5년 전 조회 2,745

반응형으로 제작중이구요... 메인 비주얼 부분을 배너관리로 사용해볼까해서 만들어놨는데...

 

생각해보니 반응형이라 리사이징하다가 특정 분기점(디바이스 크기)에 도달했을땐

 

모바일용 비주얼로 바꿔치기를 해줘야할 거 같아서  이리 저리 검색해보니... 아예 배너 위치(bn_position) 을 추가로 등록해서 사용하는거 같더라구요...;;

https://sir.kr/yc5_tip/106">https://sir.kr/yc5_tip/106 참고했던 글입니다...

 

위에 팁게시글대로 bn_position 을 (왼쪽, 메인) 에서 (비주얼PC, 비주얼M, 이벤트PC, 이벤트M) 이렇게 4개로 추가해주고... 왼쪽, 메인 관련된 코드들을 수정한 4개로 바꿔주고... 이런 작업들을 해놓고 보니

 

저런식으로 했을 경우 제 생각에는 결국 bn_position 값을 판별해서(pc냐 m이냐)를 클래스나 아이디를 부여해주고 display none block 처리하는 방법밖에 안되겠더라구요...

 

그래서 혹시나 해서 아예 배너를 추가할때... 이미지를 2개 첨부하고 첫 이미지는 pc용 두번째 이미지는 m용 으로 한 div 안에 등록된 이미지 2개를 다 띄워주고... 2번째 이미지에만 클래스를 부여해줘서

 

display none block 처리하는게 더 깔끔하지 않을까 싶습니다...;;;

 

관리자 > 배너관리 > 배너추가페이지(/adm/shop_admin/bannerform.php)에서

 

이미지 등록하는 tr 을 그대로 복사해서 name 값을 바꿔서 써볼까 하는데... 그러면 문제가 될까요...??ㅠㅠㅠ

 

반응형으로 배너관리할때는 어떻게 하는게 나은가요..??ㅠㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

5년 전

저도 이게 너무 궁금해요...

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

cuwaaang
5년 전
09 if ($bn_bimg_del)  @unlink(G5_DATA_PATH."/banner/$bn_id");
10 if ($bn_bimg2_del)  @unlink(G5_DATA_PATH."/banner/m$bn_id"); // 200403 추가

 

$bn_id

변수인것같은데 "" 안에 들어있네요 이거말고도 몇몇군데  보이는듯

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

c
coDribble
5년 전
// 날짜 추가 라고 주석처리된 부분은 원본을 그대로 복사해서 변수명만 바꿔줬습니다...;;

저도 말씀해주신 부분이 좀 애매한데 문자열안에 변수 넣을때는 {$bn_id} 이런식으로 중괄호로 감싸고 넣는거로 봤었는데

답변주신 부분은 그냥 다이렉트로 $bn_id 로 쓰고... 개발자가 아니어서 뭐가 맞는지 몰라 저도 헷갈리네요;;ㅠㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

d
5년 전

이미지 등록하는 tr 을 그대로 복사해서 name 값을 바꿔서 써볼까 하는데... 그러면 문제가 될까요...??

그대로 복사한다고 등록되거나 하지않습니다.

저장되는 DB의 table에도 해당 컬럼이 들어가야 하며..

저장하는 쪽 프로그래에도 로직이 들어가야 합니다.

개발 지식이 없으시면 커스터마이징 힘들겠습니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

c
coDribble
5년 전
넵 제가 아는건 딱 그 정도인데...

복붙하고 name 값 바꿔주고 db들어가서 배너테이블에서 이미지경로가 어떻게 저장되는지 보고... 필요하면 컬럼을 추가해주고 추가시에 update 할때 추가한 컬럼 넣어주고...

이 정도인데요... db에서 배너테이블에는 이미지 경로가 저장이 안되네요...

서버에 올려진 이미지도 보면 확장자가 이미지확장자도 아니구요...;;ㅠㅠㅠ

bannerform.php 에 이미지 tr을 그대로 복붙하고 bn_bimg2로 바꿨습니다..;;
[code]
<tr>
<th scope="row">이미지</th>
<td>
<?php echo help("메인 비주얼 : m - ??*??\n메인 이벤트 배너 : m - ??*??"); // 200402 추가 ?>
<input type="file" name="bn_bimg2">
<?php
$bimg_str = "";
$bimg2 = G5_DATA_PATH."/banner/m{$bn['bn_id']}";
if (file_exists($bimg2) && $bn['bn_id']) {
$size = @getimagesize($bimg2);
if($size[0] && $size[0] > 750)
$width = 750;
else
$width = $size[0];

echo '<input type="checkbox" name="bn_bimg2_del" value="1" id="bn_bimg2_del"> <label for="bn_bimg2_del">삭제</label>';
$bimg2_str = '<img src="'.G5_DATA_URL.'/banner/m'.$bn['bn_id'].'" width="'.$width.'">';
}
if ($bimg2_str) {
echo '<div class="banner_or_img">';
echo $bimg2_str;
echo '</div>';
}
?>
</td>
</tr>
[/code]


그리고 bannerformupdate.php 에서

$bn_bimg 를 참고해서 동일하게 $bn_bimg2 로 만들어줬는데요...;;

계속 이미지 파일만 업로드가 가능하다고 뜨네요;;ㅠㅠㅠ

[code]
$bn_bimg = $_FILES['bn_bimg']['tmp_name'];
$bn_bimg_name = $_FILES['bn_bimg']['name'];

$bn_bimg2 = $_FILES['bn_bimg2']['tmp_name']; // 200403 추가
$bn_bimg2_name = $_FILES['bn_bimg2']['name']; // 200403 추가

$bn_id = (int) $bn_id;

if ($bn_bimg_del) @unlink(G5_DATA_PATH."/banner/$bn_id");
if ($bn_bimg2_del) @unlink(G5_DATA_PATH."/banner/m$bn_id"); // 200403 추가

//파일이 이미지인지 체크합니다.
if( $bn_bimg || $bn_bimg_name || $bn_bimg2 || $bn_bimg2_name ){ // 200414 $bn_bimg2 추가

if( !preg_match('/\.(gif|jpe?g|bmp|png)$/i', $bn_bimg_name) ){
alert("이미지 파일만 업로드 할수 있습니다.");
}

$timg = @getimagesize($bn_bimg);
if ($timg['2'] < 1 || $timg['2'] > 16){
alert("이미지 파일만 업로드 할수 있습니다.");
}

// 200403 추가
if( !preg_match('/\.(gif|jpe?g|bmp|png)$/i', $bn_bimg2_name) ){
alert("이미지 파일만 업로드 할수 있습니다.");
}

$timg2 = @getimagesize($bn_bimg2);
if ($timg2['2'] < 1 || $timg2['2'] > 16){
alert("이미지 파일만 업로드 할수 있습니다.");
}
}

$bn_url = strip_tags(clean_xss_attributes($bn_url));
$bn_alt = strip_tags(clean_xss_attributes($bn_alt));

if ($w=="")
{
if (!$bn_bimg_name) alert('배너 이미지를 업로드 하세요.');

sql_query(" alter table {$g5['g5_shop_banner_table']} auto_increment=1 ");

$sql = " insert into {$g5['g5_shop_banner_table']}
set bn_alt = '$bn_alt',
bn_url = '$bn_url',
bn_device = '$bn_device',
bn_position = '$bn_position',
bn_border = '$bn_border',
bn_new_win = '$bn_new_win',
bn_begin_time = '$bn_begin_time',
bn_end_time = '$bn_end_time',
bn_time = '$now',
bn_hit = '0',
bn_order = '$bn_order' ";
sql_query($sql);

$bn_id = sql_insert_id();
}
else if ($w=="u")
{
$sql = " update {$g5['g5_shop_banner_table']}
set bn_alt = '$bn_alt',
bn_url = '$bn_url',
bn_device = '$bn_device',
bn_position = '$bn_position',
bn_border = '$bn_border',
bn_new_win = '$bn_new_win',
bn_begin_time = '$bn_begin_time',
bn_end_time = '$bn_end_time',
bn_order = '$bn_order'
where bn_id = '$bn_id' ";
sql_query($sql);
}
else if ($w=="d")
{
@unlink(G5_DATA_PATH."/banner/$bn_id");
@unlink(G5_DATA_PATH."/banner/m$bn_id");

$sql = " delete from {$g5['g5_shop_banner_table']} where bn_id = $bn_id ";
$result = sql_query($sql);
}


if ($w == "" || $w == "u")
{
if ($_FILES['bn_bimg']['name']) upload_file($_FILES['bn_bimg']['tmp_name'], $bn_id, G5_DATA_PATH."/banner");
if ($_FILES['bn_bimg2']['name']) upload_file($_FILES['bn_bimg2']['tmp_name'], 'm'.$bn_id, G5_DATA_PATH."/banner"); // 200403 추가

goto_url("./bannerform.php?w=u&amp;bn_id=$bn_id");
} else {
goto_url("./bannerlist.php");
}
[/code]


휴... 역시 좀만 복잡해지면 개발부분까지 건드리기는 어렵네요;; 간단한 것들은 어찌어찌 해결가능하긴 한데...;;

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인