★ 카테고리별 갯수 표시하기 팁입니다.
짧은주소
- - 짧은주소: http://v2.eyoom.net/bbs/?t=Ze 주소복사
본문
포인트가 엄청 많으신 분(??)이 건의하신 것을 만들어 봤습니다.^^
적용 결과는
1. 카테고리를 TAB으로 했을 경우
2. 카테고리를 dropdown list로 했을 경우
위와 같이 표시가 됩니다.
* 카테고리별 갯수 처리 소스
./www/eyoom/user_program/board/list.skin.php
<?php if (!defined('_GNUBOARD_')) exit; // Your Program - Start // 카테고리 if ($board['bo_use_category']) { foreach($categories as $key => $val) { $bocate[$key]['ca_name'] = trim($val); $sql_ca = " SELECT count(*) as caCount FROM {$write_table} WHERE ca_name = '{$bocate[$key][ca_name]}' and wr_is_comment = 0 "; $row_ca = sql_fetch($sql_ca); $bocate[$key]['ca_cnt'] = $row_ca['caCount']; $tot_cate_cnt += $row1['caCount']; } // ① 게시판 전체 글수를 "전체(nnn)"에 표시하고자 할 경우 (공지 글도 포함이 됨) $total_row = sql_fetch(" select sum(bo_count_write) as cnt from {$g5[board_table]} where bo_table = '{$bo_table}' "); $total_cate_cnt = $total_row['cnt']; // ② 카테고리가 있는 게시글 수를 "전체(nnn)"에 표시하고자 할 경우 (공지 글, 카테고리가 없는 글은 제외 됨) // $total_cate_cnt = $tot_cate_cnt; } // Your Program - End // 변수 할당하기 - /eyoom/inc/tpl.assign.php 파일 참조 $tpl->assign(array( )); ?>
위 소스 중 카테고리 처리하는 부분을
./eyoom/core/board/list.skin.php
에 직접 수정을 해도 되지만 가능하면 원본을 건드리지 않고 처리가 될 수 있도록 하기 위해
user_program에 적용을 했습니다.
이윰님께서 패치에 반영을 해 주시겠죠? ^^
제대로 된 소스를요.... ^^
* 카테고리별 갯수 출력 적용방법
예로
./eyoom/theme/basic/skin_bs/board/basic/list.skin.html 에 적용한다면
1. 카테고리를 TAB으로 했을 경우
<!--{* 게시판 카테고리 시작 *}--> <!--{?_is_category}--> <div class="tab-e1c"> <h5><strong class="color-red">{board.bo_subject}</strong> 카테고리</h5> <div class="row col-sm-12"> <ul class="nav nav-tabs"> <li class="{?!_decode_sca}active{/}"> <a href="{_category_href}">전체 <span class="badge rounded-2x badge-dark" title="전체글 수"> {_total_cate_cnt}</span></a> </li> <!--{@ _bocate}--> <li class="{? _decode_sca == .ca_name}active{/}"> <a href="{_category_href}&sca={.ca_sca}">{.ca_name} <span class="badge rounded-2x badge-light" title="{.ca_name} 글수"> {.ca_cnt}</span></a> </li> <!--{/}--> </ul> </div> <div class="clearfix"></div> </div> <!--{/}--> <!--{* 게시판 카테고리 끝 *}-->
2. 카테고리를 dropdown list로 했을 경우
<!-- 게시판 카테고리 시작 { --> <!--{?_is_category}--> <script> // 카테고리 이동 function category_view(sca) { if(sca) var url = "{_category_href}&sca="+sca; else var url = "{_category_href}"; $(location).attr('href',url); return false; } </script> <nav> <h5><strong class="color-red">{board.bo_subject}</strong> 카테고리</h5> <div class="row col-sm-4"> <select name="ca_name" id="ca_name" required class="form-control" onchange="return category_view(this.value);"> <option value="">전체 ({_total_cate_cnt})</option> <!--{@ _bocate}--> <option value="{.ca_sca}" {? _decode_sca == .ca_name}selected{/}>{.ca_name} ({.ca_cnt})</option> <!--{/}--> </select> </div> <div class="clearfix"></div> </nav> <div class="margin-hr-10"></div> <!--{/}--> <!-- } 게시판 카테고리 끝 -->
위와 같이
{_total_cate_cnt} 와
{.ca_cnt} 를 원하는 위치에 원하는 형태로 적용 하시면 됩니다.
** 참고로
위 list.skin.php에 주석으로 설명을 달아 놓았듯이
공지글, 카테고리를 포함한 모든 글수를 "전체"에 표시할 수도 있고
카테고리가 지정된 글에 대한 "전체" 글수를 표시할 수 있으니
선택적으로 사용하시길 바랍니다.
문제에 대한 민사, 형사상 책임을 지지 않음을 밝힘니다. ^^
내상을 입으셨다고 저 한테 압박은 금해 주세요. 제발... ^^
부디 도움이 되시길 바랍니다.
감사합니다.
좋아요!
Progress Bar 43%
번호 | 제목 | 글쓴이 | 날짜 | 뷰 | 추천 |
---|---|---|---|---|---|
123 | 이윰EGG | 2016.08.24 | 3,794 | 0 | |
122 | 절대섹쉬꽃미남 | 2016.08.12 | 3,064 | 1 | |
121 | 그림자밟기 | 2016.03.26 | 1,656 | 0 | |
120 | 그림자밟기 | 2016.03.26 | 1,508 | 1 | |
119 | l2zeo | 2016.01.27 | 1,722 | 0 | |
118 | 수퍼개미 | 2015.10.27 | 2,637 | 0 | |
117 | l2zeo | 2015.10.26 | 9,605 | 0 | |
116 | l2zeo | 2015.10.26 | 2,794 | 0 | |
115 | shadow | 2015.10.06 | 5,423 | 1 | |
114 | shadow | 2015.09.21 | 1,704 | 0 | |
113 | shadow | 2015.09.20 | 1,763 | 1 | |
112 | l2zeo | 2015.09.18 | 6,940 | 0 | |
111 | shadow | 2015.09.17 | 1,294 | 1 | |
110 | shadow | 2015.09.17 | 2,310 | 0 | |
109 | shadow | 2015.08.17 | 3,372 | 1 | |
108 | shadow | 2015.07.30 | 3,074 | 1 | |
107 | 암스원 | 2015.07.20 | 3,829 | 1 | |
106 | 이윰넷 | 2015.07.08 | 3,877 | 1 | |
105 | 갓구운빵 | 2015.07.03 | 1,965 | 0 | |
104 | 암스원 | 2015.07.01 | 3,544 | 2 |
댓글목록
shadow님의 댓글
포인트 많은 제가 첫 손님으로 담아 갑니다.
축하합니다. 첫댓글 포인트 5포인트를 획득하였습니다.
비즈팔님의 댓글
도움이 되셨으면 좋겠네요.^^
저도 많이 익숙하지 않지만 일단 들이 밀어 보는 성격이다 보니 허접 하네요.
shadow님의 댓글
그럼요
훌륭하게 도움이 되고 있지만서도 아까 드린 숙제 마치시고 포인트 받아가세요^^;
비즈팔님의 댓글
제로보드 경험자 분이 보시면 바로 가능할 텐데... 에휴~~
저 숙제를 잘 못해요.^^
압박! 압박!!! ㅎㅎ
shadow님의 댓글
제로보드를 모르셔도 될 것 같은데요?
왜냐하면 왼편 변수들을 유추해보면 그누보드5 변수로 안될까요?
설치된 제로보드 패스, 설치된 제로보드 실제 url, 그리고 include $_zb_path."outlogin.php"; 은 아마도 common.lib.php를 얘기하는게 아닐까 싶고.. 하여튼 저보다는 잘 아실테죠.
꼭 완성하셔서 포인트 받아가세요.
진심이에요^^
비즈팔님의 댓글
포인트는 농담이었구요....^^
말씀하신 질문에 아는 범위에서 답변 달았습니다.
별 도움이 안 될 것 같아 죄송 하네요. ㅜ.ㅜ
티보리님의 댓글
감사합니다.
다이옥신님의 댓글
나중에 꼭 쓸 기능입니다. 좋습니당
축하합니다. 행운의 포인트 35포인트를 획득하였습니다.
joosam님의 댓글
고맙게 잘 사용하겠습니다~~
그림자밟기님의 댓글
반복문 > 쿼리 > 가공
보다는
쿼리 > 반복문 > 가공
으로 작업하시는게 조금 더 효율이 좋을 것 같습니다~!
소다님의 댓글
감사합니다. ^^ 잘 쓰겠습니다. ^^
축하합니다. 행운의 포인트 43포인트를 획득하였습니다.