카테고리별로 최신글 형식으로 주르륵

   
   조회 7814  

각 카테고리별로 최신글 형식으로 주르륵 나옵니당..
수정해야 할 부분이 좀 있긴해요 ^^;; 이히히
<?
$nav_ca_id = $ca_id;
include "$g4[shop_path]/navigation1.inc.php";
$str = "";
$blank_height = 32; //줄간격띄우기(다른 카테고리별 줄간격);
$list_td = 5; //한줄에 나올 상품수;
$ca_id_len = strlen($ca_id);
$len2 = $ca_id_len + 2;
$len4 = $ca_id_len + 4;
$sql = " select count(*) as cnt from $g4[yc4_category_table]
          where ca_id like '$ca_id%'
            and length(ca_id) = $len2
            and ca_use = '1' ";
$row = sql_fetch($sql);
$cnt = $row['cnt'];
if (!$cnt)
    $str .= "<tr><td width=11 background='$g4[shop_img_path]/ca_bg02.gif'></td><td>";
$str .= "<tr><td width=11 background='$g4[shop_img_path]/ca_bg02.gif'></td>";
$str .= "<td><table width=100% border=0><tr><td>";
$sql = " select ca_id, ca_name
     from $g4[yc4_category_table]
    where ca_id like '$ca_id%'
      and length(ca_id) = '$len2'
   and ca_use = '1'
    order by ca_id ";
$result = sql_query($sql);
for($i=0; $cate=sql_fetch_array($result); $i++){
 $row[$i] = $cate;
 $str .= "<a href='$_SERVER[PHP_SELF]?&ca_id=$cate[ca_id]' class=small>$cate[ca_name]</a> &nbsp; ";
    $exists = true;
}
$str .= "</td></tr></table></td><td width=11 background='$g4[shop_img_path]/ca_bg03.gif'></td>";
if ($exists) {
    echo "
    <br>
    <table width=98% cellpadding=0 cellspacing=0 align=center border=0>
    <colgroup width=11>
    <colgroup width=''>
    <colgroup width=11>
    <tr>
        <td width=11><img src='$g4[shop_img_path]/ca_box01.gif'></td>
        <td background='$g4[shop_img_path]/ca_bg01.gif'></td>
        <td width=11><img src='$g4[shop_img_path]/ca_box02.gif'></td>
    </tr>
    $str
    <tr>
        <td width=11><img src='$g4[shop_img_path]/ca_box03.gif'></td>
        <td background='$g4[shop_img_path]/ca_bg04.gif'></td>
        <td width=11><img src='$g4[shop_img_path]/ca_box04.gif'></td>
    </tr>
    </table><br><BR>";
}

if (!$cnt) { //하단 내용이 없다면 즉 서브카테고리가 없다면 리스트를 출력
 include_once("$g4[shop_path]/list.php");
} else { //하단 내용이있을때
 $blank_div = "<div style='height:{$blank_height}px;'></div>";
 //카테고리 번호에 대한 파일 불러옴 아래 주석제거 경로변경
 //include_once("$g4[path]/include/{$ca_id}.php");
 for($i=0; $i<count($row)-1; $i++){
  $sql = " select * from $g4[yc4_item_table]
     where ca_id like '{$row[$i][ca_id]}%'
                       and it_use = '1'
     order by it_hit desc
     limit 0, $list_td";
  $it_result = sql_query($sql);
  if($i>0) echo $blank_div;
  echo "<table border=0 width=100% cellpadding=0 cellspacing=0>
    <col width=20%><col width=20%><col width=20%><col width=20%><col width=20%>";
  echo "<tr><td colspan=4><a href='$_SERVER[PHP_SELF]?ca_id={$row[$i][ca_id]}'>{$row[$i][ca_name]}</a></td><td align=right><a href='$g4[shop_path]/list.php?ca_id={$row[$i][ca_id]}'>more</a></td></tr>";
  for($j=0; $it=sql_fetch_array($it_result); $j++){
?>
  <td align=center valign=top>
  <table width=98% cellpadding=2 cellspacing=0>
  <tr>
   <td align=center><? echo get_it_image($it[it_id]."_s", $img_width , $img_height, $it[it_id]); ?></td>
  </tr>
  <tr>
   <td align=center><? echo it_name_icon($it)?></td>
  </tr>
  <?
  if ($it[it_cust_amount] && !$it[it_gallery])
   echo "<tr><td align=center><strike>".display_amount($it[it_cust_amount])."</strike></td></tr>";
  echo "<tr><td align=center>";
  if (!$it[it_gallery])
   echo "<span class=amount>".display_amount(get_amount($it), $it[it_tel_inq])."</span>";
  echo "</td>";
  ?>
  </tr>
  </table>
  </td>
<?
  } //end for : for item
  if($j>0 && $j<$list_td) echo str_repeat("<td>&nbsp;</td>", $list_td-$j); //나머지칸 td채움
  if($j==0) echo "<td colspan='$list_td' align=center>등록된 상품이 없습니다.</td>";
  echo "</tr></table>";
 }//end for : for category
}//end if for cnt
?>
 
=====================================추가적으로 수정되어야 할 부분=================
## /shop/navigation1.php line 19
        $str .= $bar . "<a href='$g4[shop_path]/category_index.php?ca_id=$code' class=navicolor $style>$row[ca_name]</a>";
교체
 
## /shop/list.php line 22, 23
//$nav_ca_id = $ca_id;
//include "$g4[shop_path]/navigation1.inc.php";
주석처리
 
## /shop/list.php line 37
//include "$g4[shop_path]/listcategory.inc.php";
주석처리
 
이정도 하시면 될듯 싶습니다. 각 카테고리별로 이쁘게 디자인 하실때 유용하게 쓰실수 있을거 같아 올려봅니다.
영카트 소스 짜집기 입니다 ㅋㅋ;; 구상은 제머리에서 -_-;;
중국구매대행 씨엔바이
시장조사/운송/통관대행/서비스 씨엔바이와함께
스마트헌터: 검색동향분석
스마트스토어 해외구매대행 해외구매대행을 지원합니다
구매대행 현대해운 요걸루
해외직구보다 구매대행이 더 싸다! 항공운송 대비 최대 85% 절약, 특가 프로모션
파워링크 AD   클릭초이스등록
불당 2007-06
일부러 제한을 두었어요. 코드가 충돌할 우려가 있어서 사전에 check를 하고
반영해야 할 코드의 경우에는 제코드에 반영을 해서 올리려구요 *^^*
불당 2007-06
제가 만든 것은 그누보드의 최근글 스킨을 쓸 수 있게 한 것이 있어요. ㅎㅎ...
http://sitereview.co.kr/bbs/board.php?bo_table=yc4_tips_hidden&wr_id=46
눈까리 2007-06
악~~ 스샷 찍어서 올릴라 했는디 ㅋㅋ 그림 못올린당 ㅋㅋ
눈까리 2007-06
이건 최신글 형식이 아닙니다 ^^;
약간 구조를 설명하면
카테고리가 만약
a - b - c
      - d - e
이렇게 있을경우 처음에는 a 에대한 상품이 $list_td수만큼 가로로 배치됩니다.
b를 클릭하면 c가 list_td만큼 그아랫줄에 d가 list_td만큼 출력됩니다.

즉 하위 카테고리가 있을경우는
최신글처럼 list_td만큼 배치가 되고 세로로는 바로 아래 카테고리만큼 출력됩니다.
그리고 마지막인 c, e의 경우 list형식으로 그에 해당하는 상품 전체가 출력됩니다.

여기서 약간의 문제가 있는데 ^^;
현재 ca_id = 1010 이라 가정했을때
하위 카테고리가 있고 (101010) 현재 카테고리에 상품이 등록되있는경우 즉 상품의 ca_id가 1010일 경우는 list.php 호출이 불가능하다는 겁니다 ^^;

최하단의 카테고리에만 상품이 등록되있는 경우에는 잘됩니다 ^^;
     
불당 2007-06
아~ 그런가요??? 그런 이거를 또 최신글 스킨이랑 묶어봐야 하겠네요. ㅋㅋ
눈까리 2007-06
여기서 저 문제점을 해결하려면?? 크크 more에 링크를 따로 주믄 되겠네요 ㅎㅎ;
왜 그생각을 못했지 -_-;;
<a href='$g4[shop_path]/list.php?ca_id={$row[$i][ca_id]}'>more</a> 이렇게 강제적으로 주믄되겠네요 ㅎㅎ
눈까리 2007-06
## /shop/navigation1.php line 19
        $str .= $bar . "<a href='$_SERVER[PHP_SELF]?ca_id=$code' class=navicolor $style>$row[ca_name]</a>";
교체

이부분 에러 납니다 ^^; item보기 했을경우 링크가 제대로 안걸리네요 ^^;
$_SERVER[PHP_SELF] 를 삭제하시고 자신의 코드를 넣어주세요
 $str .= $bar . "<a href='파일위치설정?ca_id=$code' class=navicolor $style>$row[ca_name]</a>";
파일위치설정에 넣고싶은 경로와 위 소스의 파일명을 적어주셔요 ^^
만약 shop/category_index.php라는 파일로 저장하셨따면
$str .= $bar . "<a href='$g4[shop_path]/category_index.php?ca_id=$code' class=navicolor $style>$row[ca_name]</a>";
불당 2007-06
ㅎㅎ... 이 게시판의 권한을 풀었어요. 회원 only 게시판에 주로 코드를 올리니까 이곳은 풀어도 될 것 같아요
수정본이랑 스냅샷~ 올리셔도 될 것 같아요.
눈까리 2007-06
으흥~ 그림판으로 스샷작업한 눈까리군 -0-a
눈까리 2007-06
또 수정해야 할 부분 ^^;
$list_td = 5; //한줄에 나올 상품수; 이줄 아래 다음과 같은 코드를 작성해 주셔요
$col_width = 100 / $list_td; //추가

아래부분을
echo "<table border=0 width=100% cellpadding=0 cellspacing=0>
    <col width=20%><col width=20%><col width=20%><col width=20%><col width=20%>";

다음과 같이 고치셔요
echo "<table border=0 width=100% cellpadding=0 cellspacing=0>".str_repeat("<col width={$col_width}%>", $list_td);

금방 수정하신 부부은 한 라인에 배열될 갯수에 따른 테이블의 (<td>) 가로 사이즈 입니다.
유동적으로 변경될 수 있는 부분이기 때문에 첨부합니다.


제목Page 1/5
2016-08   32269   불당
06-02   9683   불당
2015-09   69429   불당
2014-06   119196   불당
2014-05   106746   불당
2007-05   7865   불당
2007-03   9573   불당
2007-03   7707   불당
2014-10   2272   동행
2014-01   4125   불당
2014-01   3168   불당
2009-01   27   불당
2008-01   5342   푸름빠덜
2007-12   5785   강백호
2007-11   5174   푸름빠덜
2007-09   4436   푸름빠덜
2007-07   4353   푸름빠덜
2007-07   6208   푸름빠덜
2007-07   629   불당
2007-07   5069   불당
2007-07   4170   불당
2007-06   6500   푸름빠덜
2007-06   4816  
2007-06   5457  
2007-06   7815  
2007-06   3921   불당
2007-05   773   불당
2007-05   11073   불당