쇼핑몰: #95 오늘 본 상품, 유령상품 추가되는 문제에 봉착

This commit is contained in:
whitedot
2013-04-30 10:21:13 +09:00
parent 05e26e16e0
commit 6bdf49f03f
3 changed files with 90 additions and 195 deletions

View File

@ -93,8 +93,18 @@ a:active {color:#000;text-decoration:underline}
#wrapper_title {margin-bottom:20px;font-size:1.2em}
/* 오늘 본 상품 */
#stod {float:right}
#stod span {display:none}
#stv {float:right;width:90px}
#stv_list {border:1px solid #e9e9e9}
#stv_list h2 {padding:10px 0 8px;background:#f7f7f7;text-align:center;letter-spacing:-0.1em}
#stv_list p {padding:20px 0;text-align:center}
#stv_ul {margin:0;padding:0;list-style:none}
.stv_item {display:none}
#stv_nb {background:#f9faf5}
#stv_nb h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#stv_nb_ul {margin:0;padding:0;list-style:none}
#stv_nb_ul li {text-align:center}
#stv_nb_ul a {display:block}
/* aside wrapper */
#aside {float:left;margin:0 10px 0 0;width:150px}

View File

@ -4,203 +4,88 @@ $tv_idx = get_session("ss_tv_idx");
$tv_div['top'] = 0;
$tv_div['img_width'] = 70;
$tv_div['img_height'] = 70;
$tv_div['img_length'] = 3; // 노출할 이미지
echo '<button id="up">위로</button>';
echo '<button id="down">아래로</button>';
echo '<br>';
for ($i=0;$i<9;$i++) {
if ($i==0) $k=0;
if ($i%3==0) $k++;
echo '<span class="tdlist c'.$k.'">class'.$k.'</span>';
}
$tv_div['img_length'] = 1; // 한번에 보여줄 이미지
?>
<script>
$(function() {
var flag = 1; // 페이지값
var show = 3;
var goal = parseInt(<?php echo $i; ?>/show); // 전체 리스트를 3(한 번에 보여줄 값)으로 나눠 flag 최대값을 구하고
var goalrest = parseInt(<?php echo $i; ?>%show); // 나머지 값을 구한 후
if (goalrest > 0) // 나머지 값이 있다면
<div id="stv_list">
<h2>오늘 본 상품</h2>
<?php if ($tv_idx) { // 오늘 본 상품이 1개라도 있을 때 ?>
<div id="btn">
<span id="stv_pg"></span>
<button id="up">위</button>
<button id="down">아래</button>
</div>
<?php
for ($i=0;$i<=$tv_idx;$i++)
{
goal++; // flag 최댓값에 1을 더한다.
$tv_it_id = get_session("ss_tv[$i]");
$rowx = sql_fetch(" select it_name from $g4[shop_item_table] where it_id = '$tv_it_id' ");
if ($i%$tv_div['img_length']==0) $k++;
$it_name = get_text(addslashes($rowx['it_name']));
$img = get_it_image($tv_it_id."_s", $tv_div['img_width'], $tv_div['img_height'], $tv_it_id);
if ($i==0) echo '<ul id="stv_ul">'.PHP_EOL;
echo '<li class="stv_item c'.$k.'">'.PHP_EOL;
echo $img;
echo '<br>';
echo cut_str($it_name,10,'').PHP_EOL;
echo '</li>'.PHP_EOL;
}
$('.c'+flag).css('display','block');
$('#up').click(function() {
if (flag == 1)
if ($i > 0) echo '</ul>'.PHP_EOL;
?>
<script>
$(function() {
var itemQty = <?php echo $tv_idx; ?>; // 총 아이템 수량
var itemShow = <?php echo $tv_div['img_length']; ?>; // 한번에 보여줄 아이템 수량
var Flag = 1; // 페이지
var EOFlag = parseInt(<?php echo $i; ?>/itemShow); // 전체 리스트를 3(한 번에 보여줄 값)으로 나눠 페이지 최댓값을 구하고
var itemRest = parseInt(<?php echo $i; ?>%itemShow); // 나머지 값을 구한 후
if (itemRest > 0) // 나머지 값이 있다면
{
alert('처음 목록입니다.');
} else {
flag--;
$('.c'+flag).css('display','block');
$('.c'+(flag+1)).css('display','none');
}
})
$('#down').click(function() {
if (flag == goal)
{
alert('마지막 목록입니다.');
} else {
flag++;
$('.c'+flag).css('display','block');
$('.c'+(flag-1)).css('display','none');
EOFlag++; // 페이지 최댓값을 1 증가시킨다.
}
$('.c'+Flag).css('display','block');
$('#pg').text(Flag+'/'+EOFlag); // 페이지 초기 출력값
$('#up').click(function() {
if (Flag == 1)
{
alert('목록의 처음입니다.');
} else {
Flag--;
$('.c'+Flag).css('display','block');
$('.c'+(Flag+1)).css('display','none');
}
$('#pg').text(Flag+'/'+EOFlag); // 페이지 값 재설정
})
$('#down').click(function() {
if (Flag == EOFlag)
{
alert('더 이상 목록이 없습니다.');
} else {
Flag++;
$('.c'+Flag).css('display','block');
$('.c'+(Flag-1)).css('display','none');
}
$('#pg').text(Flag+'/'+EOFlag); // 페이지 값 재설정
});
});
});
</script>
</script>
<?php } else { // 오늘 본 상품이 없을 때 ?>
<span id='todayviewcount'></span>
<?php
// 오늘 본 상품이 있다면
if ($tv_idx)
{
// 오늘 본 상품갯수가 보여지는 최대 이미지 수 보다 크다면 위로 화살표를 보임
if ($tv_idx > $tv_div['img_length'])
echo "<tr><td><img src='".G4_SHOP_URL."/img/todayview02.gif' border='0' onclick='javascript:todayview_up();' style='cursor:pointer;'></td></tr>";
<p>없음</p>
// 오늘 본 상품 이미지 출력
echo "<tr><td background='".G4_SHOP_URL."/img/todayview03.gif'><table width=100% cellpadding=2>";
for ($i=1; $i<=$tv_div['img_length']; $i++)
{
echo "<tr><td align=center>";
echo "<span id='todayview_{$i}'></span>";
echo "</td></tr>";
}
echo "</table></td></tr>";
<?php } ?>
// 오늘 본 상품갯수가 보여지는 최대 이미지 수 보다 크다면 아래로 화살표를 보임
if ($tv_idx > $tv_div['img_length'])
echo "<tr><td><img src='".G4_SHOP_URL."/img/todayview05.gif' border='0' onclick='javascript:todayview_dn();' style='cursor:pointer;'></td></tr>";
}
else
{
echo "<tr><td><img src='".G4_SHOP_URL."/img/todayview04.gif'></td></tr>";
}
?>
</table>
<!-- 오늘 본 상품 -->
<script language="JavaScript">
var goods_link = new Array();
<?php
echo "var goods_max = ".(int)$tv_idx.";\n";
echo "var goods_length = ".(int)$tv_div['img_length'].";\n";
echo "var goods_current = goods_max;\n";
echo "\n";
for ($i=1; $i<=$tv_idx; $i++)
{
$tv_it_id = get_session("ss_tv[$i]");
$rowx = sql_fetch(" select it_name from $g4[shop_item_table] where it_id = '$tv_it_id' ");
$it_name = get_text(addslashes($rowx['it_name']));
$img = get_it_image($tv_it_id."_s", $tv_div['img_width'], $tv_div['img_height'], $tv_it_id);
$img = str_replace('"', '\"', preg_replace("/\<a /", "<a title=\"$it_name\" ", $img));
echo "goods_link[$i] = \"{$img}<br/><span class=\\\"small\\\">".cut_str($it_name,10,"")."</span>\";\n";
}
?>
var divSave = null;
function todayview_visible()
{
set_cookie('ck_tvhidden', '', 1);
document.getElementById('divToday').innerHTML = divSave;
}
function todayview_hidden()
{
divSave = document.getElementById('divToday').innerHTML;
set_cookie('ck_tvhidden', '1', 1);
document.getElementById('divToday').innerHTML = document.getElementById('divTodayHidden').innerHTML;
}
function todayview_move(current)
{
k = 0;
for (i=goods_current; i>0 ; i--)
{
k++;
if (k > goods_length)
break;
document.getElementById('todayview_'+k).innerHTML = goods_link[i];
}
}
function todayview_up()
{
if (goods_current + 1 > goods_max)
alert("오늘 본 마지막 상품입니다.");
else
todayview_move(goods_current++);
}
function todayview_dn()
{
if (goods_current - goods_length == 0)
alert("오늘 본 처음 상품입니다.");
else
todayview_move(goods_current--);
}
<?php
$k=0;
for ($i=$tv_idx; $i>0; $i--)
{
$k++;
if ($k > $tv_div['img_length'])
break;
$tv_it_id = get_session("ss_tv[$i]");
echo "document.getElementById('todayview_{$k}').innerHTML = goods_link[$i];\n";
}
if ($tv_idx)
{
echo "if (document.getElementById('todayviewcount')) document.getElementById('todayviewcount').innerHTML = '$tv_idx';\n";
}
?>
</script>
<script>
function CheckUIElements()
{
var yMenuFrom, yMenuTo, yButtonFrom, yButtonTo, yOffset, timeoutNextCheck;
yMenuFrom = parseInt (document.getElementById('divToday').style.top, 10);
/*
if ( g4_is_gecko )
yMenuTo = top.pageYOffset + <?php echo $tv_div['top']; ?>;
else if ( g4_is_ie )
yMenuTo = document.body.scrollTop + parseInt("<?php echo $tv_div['top']; ?>");
*/
yMenuTo = document.body.scrollTop + parseInt("<?php echo $tv_div['top']; ?>");
timeoutNextCheck = 500;
if ( Math.abs (yButtonFrom - (yMenuTo + 152)) < 6 && yButtonTo < yButtonFrom )
{
setTimeout ("CheckUIElements()", timeoutNextCheck);
return;
}
if ( yMenuFrom != yMenuTo )
{
yOffset = Math.ceil( Math.abs( yMenuTo - yMenuFrom ) / 10 );
if ( yMenuTo < yMenuFrom )
yOffset = -yOffset;
document.getElementById('divToday').style.top = parseInt(document.getElementById('divToday').style.top) + yOffset;
timeoutNextCheck = 10;
}
setTimeout ("CheckUIElements()", timeoutNextCheck);
}
//-->
</script>
<aside id="stv_nb">
<h3>빠른 연결</h3>
<ul id="stv_nb_ul">
<li><a href="<?php echo G4_SHOP_URL; ?>/cart.php"><img src="<?php echo G4_URL; ?>/img/shop/hd_nb_cart.gif" alt="장바구니"></a></li>
<li><a href="<?php echo G4_SHOP_URL; ?>/wishlist.php"><img src="<?php echo G4_URL; ?>/img/shop/hd_nb_wish.gif" alt="위시리스트"></a></li>
<li><a href="<?php echo G4_SHOP_URL; ?>/orderinquiry.php"><img src="<?php echo G4_URL; ?>/img/shop/hd_nb_deli.gif" alt="주문/배송조회"></a></li>
</ul>
</aside>
</div>

View File

@ -24,9 +24,9 @@ include_once(G4_LIB_PATH.'/popular.lib.php');
<aside id="hd_nb">
<ul>
<li><a href=""><img src="<?php echo G4_URL; ?>/img/shop/hd_nb_cart.gif" alt="장바구니"></a></li>
<li><a href=""><img src="<?php echo G4_URL; ?>/img/shop/hd_nb_wish.gif" alt="위시리스트"></a></li>
<li id="hd_nb_last"><a href=""><img src="<?php echo G4_URL; ?>/img/shop/hd_nb_deli.gif" alt="주문/배송조회"></a></li>
<li><a href="<?php echo G4_SHOP_URL; ?>/cart.php"><img src="<?php echo G4_URL; ?>/img/shop/hd_nb_cart.gif" alt="장바구니"></a></li>
<li><a href="<?php echo G4_SHOP_URL; ?>/wishlist.php"><img src="<?php echo G4_URL; ?>/img/shop/hd_nb_wish.gif" alt="위시리스트"></a></li>
<li id="hd_nb_last"><a href="<?php echo G4_SHOP_URL; ?>/orderinquiry.php"><img src="<?php echo G4_URL; ?>/img/shop/hd_nb_deli.gif" alt="주문/배송조회"></a></li>
</ul>
</aside>
@ -85,7 +85,7 @@ include_once(G4_LIB_PATH.'/popular.lib.php');
<div id="wrapper">
<aside id="stod">
<aside id="stv">
<?php include(G4_SHOP_PATH.'/boxtodayview.inc.php'); ?>
</aside>