상품을 10개씩/30개씩/50개씩/100개씩 보도록 하고 싶습니다..

상품을 10개씩/30개씩/50개씩/100개씩 보도록 하고 싶습니다..

QA

상품을 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;
}

헉 정말 감사합니다..ㅜㅜ 개수별로 보입니다 ㅜㅠㅠㅠ그런데 정말 죄송하지만... 이렇게 설정하고 셀럭터 선택하면 화면에 갯수별로 상품이 나오긴 하는데 페이지가 넘어가면 상품이 없다고 뜨네요..! 10개 선택하면 10개 이후로 넘어가는 상품이 2페이지로 넘어가는데 2페이지를 누르면 상품이 없는 식입니다 페이징 설정을 수정하면 될까요?? 죄송합니다 독학으로 입문한지 정말 얼마 안돼서 ㅠㅠ

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에 저장했다가 적용하는 부분을 추가해야 합니다

회원인 경우 다음번 접속시에도 계속 사용할 수 있도록 회원 테이블 여분필드에 값을 저장하면 더 좋을 것입니다

 

 

 

 

 

 

 

아하..감사합니다 제가 정말 왕초보라서요 ㅎㅎ;; 질문글 올리고 나서 한참 후에나 알았습니다 감사합니다..우선 저렇게 적용은 했는데 셀렉터를 선택할때마다 그 값이 주소 뒤에 계속 &newp10&newP=30&newp10&newP=100 이런식으로 붙네요 이건 어떻게 해결할 수 있을지 혹시 한번만 더 여쭈어도 될까요?

답변을 작성하시기 전에 로그인 해주세요.
전체 298
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT