상품을 10개씩/30개씩/50개씩/100개씩 보도록 하고 싶습니다..
본문
해당 리스트 스킨은
list.10.skin.php
해당 셀렉터 부분의 스킨은
list.sub.skin.php에서 쓰고 있습니다
<div class="selectbox">
<dl class="dropdown">
<select class='pageSelector' onchange="if (this.value) window.location.href='./board.php?bo_table=<?php echo $board['bo_table']; ?>&newP=' + this.value" style="border:1px solid #ddd; line-height: 50px; height:30px; background:none; width:92%; color:#777;">
<option value='10'<?php echo $newP ==10?'selected':'' ?>>10개씩보기</option>
<option value='30'<?php echo $newP ==30?'selected':'' ?>>30개씩보기</option>
<option value='50'<?php echo $newP ==50?'selected':'' ?>>50개씩보기</option>
<option value='100'<?php echo $newP ==100?'selected':'' ?>>100개씩보기</option>
</select>
</dl>
</div>
우선 셀렉터는 https://sir.kr/g5_tip/10704 이 게시글 참고해서 이렇게 설정했는데 출력은 어떻게 어느부분을 설정하면 될까요??
!-->답변 3
html 부분
<li class="it_sel"> <select name="list_row"> <option value="20" <?php echo $list_row=='20' ? "selected" : ""?>>[20개씩 보기]</option> <option value="50" <?php echo $list_row=='50' ? "selected" : ""?>>[50개씩 보기]</option> <option value="100" <?php echo $list_row=='100' ? "selected" : ""?>>[100개씩 보기]</option> </select> </li>
js 부분 <script> $(document).ready(function () { $("select[name='list_row']").change(function (){ location.href='/shop/list.php?ca_id=<?php echo $ca_id?>'+'&list_row='+$(this).val(); }); }); </script>
php 부분
www/shop/list.php
20 라인 근처
// 테마미리보기 스킨 등의 변수 재설정 if(defined('_THEME_PREVIEW_') && _THEME_PREVIEW_ === true) { $ca['ca_skin'] = (isset($tconfig['ca_skin']) && $tconfig['ca_skin']) ? $tconfig['ca_skin'] : $ca['ca_skin']; $ca['ca_img_width'] = (isset($tconfig['ca_img_width']) && $tconfig['ca_img_width']) ? $tconfig['ca_img_width'] : $ca['ca_img_width']; $ca['ca_img_height'] = (isset($tconfig['ca_img_height']) && $tconfig['ca_img_height']) ? $tconfig['ca_img_height'] : $ca['ca_img_height']; $ca['ca_list_mod'] = (isset($tconfig['ca_list_mod']) && $tconfig['ca_list_mod']) ? $tconfig['ca_list_mod'] : $ca['ca_list_mod']; $ca['ca_list_row'] = (isset($tconfig['ca_list_row']) && $tconfig['ca_list_row']) ? $tconfig['ca_list_row'] : $ca['ca_list_row']; } if(!empty($list_row)){ $ca['ca_list_row']=$list_row / 5; }
shop/list.php를 보면
// 총몇개 = 한줄에 몇개 * 몇줄
$items = $ca['ca_list_mod'] * $ca['ca_list_row'];
이렇게 되어 있습니다.
$items 값을 변경하세요.
onchange="if (this.value) window.location.href='./board.php?bo_table=~~~
위 코드가 맞지않습니다
출력 갯수를 선택하면 쇼핑몰 list.php로 이동해야 하는데 난데 없이 웬 게시판으로 이동하는 링크가 들어가나요?
아래 처럼 수정하세요
1. onchange="change_list_num(this.value)" 로 변경
2. 자바스크립트에 함수 추가
function change_list_num(vv){
location.href=location.href+'&newP='+vv;
}
3. shop/list.php 21행쯤 $ca배열 만드는 코드 이후에 추가
if($_GET['newP']) $ca['ca_list_row'] = $_GET['newP'];
그런데 이렇게 하면 한번만 적용 되고 페이지 이동을 하면 적용 되지않게 되겠죠
session에 저장했다가 적용하는 부분을 추가해야 합니다
회원인 경우 다음번 접속시에도 계속 사용할 수 있도록 회원 테이블 여분필드에 값을 저장하면 더 좋을 것입니다