2.2.3.1
리빌더
리빌더
다운로드
리빌더 데모
리빌더 마켓 데모
빌더 소개
n
이용가이드
소식
소식
공지사항
이벤트
업데이트 노트
업데이트 캘린더
개발실적
부가기능
부가기능
전체
게시판
시스템
확장기능
API
최신글
위젯
레이아웃
u
웹폰트
부가서비스
부가서비스
Rb 프리미엄
Rb 테마
Rb 에디터
Rb 어드민
멤버십
리셀러
에디터
웹뷰 패키징
신규개발 의뢰
자료실
자료실
유저 자료실
멤버십 자료실
지원
지원
질문과 답변
버그제보
개선 및 제안
기술지원 요청
포럼
포럼
자유 게시판
n
팁과 노하우
사용후기
많이 검색된 키워드
#
2025
#
2026
#
배너
#
alert
#
toast
검색조건
제목+내용
제목
내용
회원아이디
이름
and
or
로그인후 이용해주세요.
로그인
회원가입
팁과노하우
검색
포인트정책
팁과노하우 포인트 정책
글쓰기
100P
댓글
10P
전체 115건 / 4 페이지
70
오래 전
2025.03.02
오래 전
게시판 뷰페이지 첨부사진보다 본문글이 위로 나오게하기
게시판 뷰페이지 들어가보면 사진이 먼저 위로 올라오는데글이 먼저 위에 나오게 하기
<!-- 본문 내용 시작 { --> <div id="bo_v_con"> <?php // 파일 출력
$v_img_count = count($view['file']);
if($v_img_count) { echo "<div id=\"bo_v_img\">\n";
foreach($view['file'] as $view_file) { echo get_file_thumbnail($view_file); }
echo "</div>\n"; }
?>
<?php echo get_view_thumbnail($view['content']); ?> </div>
위에 부분을
<!-- 본문 내용 시작 --><div id="bo_v_con"> <?php echo get_view_thumbnail($view['content']); ?></div><?php // 파일 출력 코드 (이제 본문 아래에 위치) $v_img_count = count($view['file']); if($v_img_count) { echo "<div id=\"bo_v_img\">\n"; foreach($view['file'] as $view_file) { echo get_file_thumbnail($view_file); } echo "</div>\n"; }?>
이렇게 바꿔주시면 반대로됩니다
팡야
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
203
2
0
69
오래 전
2025.03.01
오래 전
아래로 당겨서 새로고침하기
웹뷰사용시 새로고침버튼이 없어서 새로고침하려면 불편하더라고요네이버카페어플이나 기타 어플 같은경우 아래로 스크롤 하면 새로고침이 되는데그방법입니다 저는 할줄 몰라서 돈주고 배웠습니다 고수님들은 금방하시겠지만저처럼 초보자들에게 필요할까 해서 공유합니다
적용하고싶은 페이지에 아래내용 넣어주시면 됩니다
<style> body {font-family: 'Nanum Myeongjo', 'Apple SD Gothic Neo', '���� ����', serif; line-height: 1.6; background-color: #f8f9fa; color: #333; overscroll-behavior: contain;ㅂ} </style><script src="https://unpkg.com/pulltorefreshjs" defer></script><script> document.addEventListener("DOMContentLoaded", () => { PullToRefresh.init({ mainElement: '#scroll_container', // 새로고침이 작동할 스크롤 컨테이너 onRefresh() { return new Promise((resolve, reject) => { $.ajax({ url: window.location.href, dataType: 'html', success: function(data) { // 임시 DOM 객체에 전체 HTML 삽입 후, #scroll_container의 내용 추출 var newContent = $('<div></div>').html(data).find('#scroll_container').html(); $('#scroll_container').html(newContent); resolve(); }, error: function() { resolve(); } }); }); }, instructionsPullToRefresh: '당겨서 새로고침', instructionsReleaseToRefresh: '놓으면 새로고침', instructionsRefreshing: '새로고침 중...' });
const counters = document.querySelectorAll(".stats-value");
counters.forEach(counter => { const updateCount = () => { const target = +counter.getAttribute("data-count"); const count = +counter.innerText.replace(/,/g, '');
const increment = target / 200; // 속도 조정
if (count < target) { counter.innerText = Math.ceil(count + increment).toLocaleString(); setTimeout(updateCount, 10); } else { const suffix = counter.getAttribute("data-suffix") || ""; counter.innerText = target.toLocaleString() + suffix; } };
updateCount(); }); });</script>
팡야
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
234
3
3
68
오래 전
2025.02.28
오래 전
네이버 카페처럼 메인화면에서 글쓰기버튼 추가
메인화면에 글쓰기 버튼 추가해서 누르면 나의 레벨에서 글쓸수 있는 게시판 목록이 나타나고 목록에서게시판을 선택하여 해당글쓰기로 이동하는 방법입니다여기서 글쓰기버튼을 클릭하면?이렇게 우측에 나의 레벨에서 작성할수 있는 게시판이 나열됩니다여기서 작성하고 싶은 게시판을 선택하면?
해당 게시판의 글쓰기로 이동이 됩니다
<style>/* 플로팅 글쓰기 버튼 */#floating-write-btn { position: fixed; bottom: 15px; /* 필요시 조정 */ right: 30px; /* 필요시 조정 */ z-index: 2000;}
#floating-write-btn button { width: 60px; height: 60px; border: none; border-radius: 50%; background-color: #4d33b2; /* 버튼 배경색 */ color: #fff; font-size: 16px; cursor: pointer; box-shadow: 0 4px 8px rgba(0,0,0,0.2);}
/* 버튼 호버시 효과 */#floating-write-btn button:hover { background-color: #ff5f1f; transition: background-color 0.2s;}
/* 모달 배경 */#board-select-modal { display: none; /* 기본 숨김 */ position: fixed; z-index: 99999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.5);}
/* 모달 컨텐츠 박스 */#board-select-modal .modal-content { background-color: #1c1c1e; color: #fff; margin: 80px auto; /* 수직 가운데정렬 (상단 간격) */ max-width: 320px; /* 모달 너비 (원하시면 늘리세요) */ border-radius: 8px; padding: 20px; position: relative;}
/* 모달 닫기(X) 버튼 */#board-select-modal .close-modal { position: absolute; top: 10px; right: 15px; font-size: 24px; cursor: pointer;}
/* 모달 제목 */#board-select-modal h2 { margin: 0 0 15px; font-size: 18px; text-align: center; color: #ffd674; /* 원하는 색상 */}
/* 목록 초기화 */#board-list { list-style: none; padding: 0; margin: 0;}
/* 그룹 아이템(접히는 상단) */.group-item { margin-bottom: 10px;}
/* 그룹 제목 영역 */.group-title { background-color: #2c2c2e; padding: 10px 12px; border-radius: 6px; cursor: pointer; position: relative; font-size: 14px; display: flex; align-items: center; justify-content: space-between;}.group-title:hover { background-color: #3a3a3c;}
/* 그룹 제목 왼쪽 */.group-title-text { font-weight: bold;}
/* 펼치기/접기 화살표 (오른쪽) */.group-title .arrow { font-size: 12px; margin-left: 5px; transition: transform 0.2s;}.group-title.open .arrow { transform: rotate(180deg);}
/* 하위 게시판 목록(초기 숨김) */.board-sublist { list-style: none; margin: 0; margin-top: 6px; padding: 0; display: none; /* 처음에는 숨김 */}
/* 하위 게시판 항목 */.board-sublist li { margin-bottom: 6px;}
.board-sublist li a { display: block; background: #4d33b2; padding: 8px 12px; border-radius: 4px; color: #fff; text-decoration: none; font-size: 13px; transition: background-color 0.2s;}.board-sublist li a:hover { background-color: #444;}</style>
<!-- 플로팅 글쓰기 버튼 --><div id="floating-write-btn"> <button type="button" title="글쓰기"> <!-- 연필 모양 아이콘 (FontAwesome 등에서 추출한 SVG 예시) --> <svg aria-hidden="true" focusable="false" width="22" height="22" viewBox="0 0 512 512" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <path d="M497.94 74.17l-60.11-60.1a48 48 0 0 0-67.88 0L15.49 368.52a24 24 0 0 0-6.08 10.87L.15 460.32a24 24 0 0 0 28.83 28.84l81-9.26a24 24 0 0 0 10.86-6.07l354.47-354.4a48 48 0 0 0 .63-67.26zm-386 330.93l-50.72 5.8 5.79-50.66L345.94 80.44l44.9 44.9zm359.64-359.59l-31.92 31.88-44.9-44.9 31.89-31.88a16 16 0 0 1 22.63 0l22.34 22.34a16 16 0 0 1 .02 22.56z"/> </svg> </button></div>
<!-- 모달창 --><div id="board-select-modal"> <div class="modal-content"> <span class="close-modal">×</span> <h2>게시판 선택</h2> <ul id="board-list"> <?php // 로그인/권한 확인 if (!$is_member) { // 비회원이면 안내 echo '<li><a href="'.G5_BBS_URL.'/login.php">로그인 후 이용가능합니다.</a></li>'; } else { // 그룹 + 게시판 목록을 가져와서 "내 레벨로 쓰기 가능한 게시판"만 분류 $sql = " SELECT b.bo_table, b.bo_subject, b.bo_write_level, b.gr_id, g.gr_subject FROM {$g5['board_table']} b LEFT JOIN {$g5['group_table']} g ON (b.gr_id = g.gr_id) WHERE b.bo_use_search = '1' ORDER BY b.gr_id ASC, b.bo_table ASC "; $result = sql_query($sql);
// 그룹별로 묶을 배열 $grouped_boards = array();
// 데이터 반복 while($row = sql_fetch_array($result)) { // 내 레벨로 쓰기가 가능한지? if ((int)$member['mb_level'] >= (int)$row['bo_write_level']) { $gr_id = $row['gr_id']; // 그룹 이름이 없으면 기본 그룹명 처리 $group_name = $row['gr_subject'] ? $row['gr_subject'] : '기본그룹';
if (!isset($grouped_boards[$gr_id])) { $grouped_boards[$gr_id] = array( 'group_name' => $group_name, 'boards' => array() ); } // 보드 정보 푸시 $grouped_boards[$gr_id]['boards'][] = array( 'bo_table' => $row['bo_table'], 'bo_subject' => $row['bo_subject'] ); } }
// 만약 작성가능한 게시판이 전혀 없다면 안내 if (empty($grouped_boards)) { echo '<li><a href="javascript:void(0)">작성 가능한 게시판이 없습니다.</a></li>'; } else { // 그룹별로 출력 foreach($grouped_boards as $gr_id => $grp) { // 그룹 제목 echo '<li class="group-item">'; echo ' <div class="group-title" onclick="toggleGroup('group-'.$gr_id.'', this)">'; echo ' <span class="group-title-text">'.get_text($grp['group_name']).'</span>'; echo ' <span class="arrow">▼</span>'; echo ' </div>';
// 하위 게시판 목록 echo ' <ul id="group-'.$gr_id.'" class="board-sublist">'; foreach($grp['boards'] as $bd) { $write_url = get_pretty_url($bd['bo_table'], 'write'); echo '<li><a href="'.$write_url.'">'.get_text($bd['bo_subject']).'</a></li>'; } echo ' </ul>'; echo '</li>'; } } } ?> </ul> </div></div>
<script>// (1) 플로팅 버튼 / 모달창 DOMconst floatingWriteBtn = document.getElementById("floating-write-btn");const boardSelectModal = document.getElementById("board-select-modal");const closeModalBtn = document.querySelector("#board-select-modal .close-modal");
// (2) 버튼 클릭 -> 모달 열기if (floatingWriteBtn) { floatingWriteBtn.addEventListener("click", function() { if (boardSelectModal) { boardSelectModal.style.display = "block"; } });}
// (3) 닫기(X) 버튼 클릭 -> 모달 닫기if (closeModalBtn) { closeModalBtn.addEventListener("click", function() { if (boardSelectModal) { boardSelectModal.style.display = "none"; } });}
// (4) 모달 배경 클릭 -> 모달 닫기window.addEventListener("click", function(event) { if (event.target === boardSelectModal) { boardSelectModal.style.display = "none"; }});
/* 그룹 토글 함수 */function toggleGroup(groupId, titleElem) { const sublist = document.getElementById(groupId); if (!sublist) return;
// 펼침/접힘 if (sublist.style.display === 'none' || sublist.style.display === '') { sublist.style.display = 'block'; // 화살표 회전 효과를 위해 .open 클래스 토글 if (titleElem) titleElem.classList.add('open'); } else { sublist.style.display = 'none'; if (titleElem) titleElem.classList.remove('open'); }}</script>
팡야
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
302
5
3
67
오래 전
2025.02.26
오래 전
목록 사이에 텍스트 광고 혹은 배너 광고 넣기
안녕하세요...미니님a입니다.
먼저 해당 팁은 별도로 스킨 제작하지 않고 팁으로만 작성하여 공유 드립니다.따라서, 해당 내용을 그대로 따라 하시면 현재 적용 중인 스킨에 잘 적용 되실 것입니다.
웹 서핑을 하다보면 아래 처럼 게시글 중간 중간 광고가 노출 된 것을 본 적이 있으실 것입니다.
이런 광고 기능 해보면 좋겠다? 생각 드셨죠?개선 및 제안 게시판에 팡야님께서 제안 해주신 적도 있으시던데요 https://rebuilder.co.kr/propose/167 자! 이 기능 구현 해봅시다!!
※주의사항
구글 애드센스는 정책 위반이라 하시면 구글 광고 계정 짤립니다. 하시면 안됩니다.
쿠팡이나 일반 사이트 내 광고 등 다른 광고로 진행하셔야 합니다.
괜히 구글 애드센스 하셨다가 광고 계정 짤려서 저한테 책임 물으시는 일 없으시면 좋겠습니다.
이제 시작 해봅시다.
기본 혹은 일반 스킨의 경우는 사용하시는 스킨 폴더 내 list.skin.php 파일을 열어 주시면 됩니다.만약 통합 스킨을 사용하신다면 통합 스킨 폴더 내 list/basic/skin.php 파일을 열어 주시면 됩니다.
단. 썸네일과 갤러리는 논외로 치고 직접 작업하셔야 할 것 같습니다. 해당 팁은 리스트 기준입니다.
아래 소스 코드를 찾아주세요 - 기본과 통합 똑같은 소스입니다.
<?php } ?> </tbody> </table> <?php if (count($list) == 0) { echo "<div class="no_data" style="text-align:center">데이터가 없습니다.</div>"; } ?>
그리고 추가를 해줄 것인데 어디에 추가 해줄꺼냐면 <?php } ?> 소스 위에 작성할 것입니다.
아래 소스를 추가 해주세요 <?php if($i === 5){?> <tr> <td colspan="4"> <p style="text-align:center;">여기에 광고를 넣어주세요. 이미지 광고도 크기에 맞게 넣어주시면 됩니다.</p> </td> </tr> <?php } ?>
잘 모르겠다? 하시면 아래 스크린 샷 오렌지색을 주목 해주세요
위 소스 기준 5는 7번째 목록에 광고를 나타내겠다는 뜻입니다.왜 7번째냐면 자바스크립트는 0부터 시작하기 때문에 0 1 2 3 4 5 해서 6번째가 되며, 7번째 광고가 노출됩니다.
아래 처럼요
모바일 반응형으로 구현되어 있기에 이미지 자체가 비정상(?)만 아니면 적절하게 잘 노출 될 것입니다.만약 이미지가 찌그러짐 현상이 있다면 모바일에서는 변경하는 css 사용하시면 될 것 같습니다.
페이지 마다 7번째에 광고가 노출 되므로 너무 많은 광고 노출 시 사용자 입장에서 불편할 수 있기 때문에 페이지 당 하나가 적절하다 판단하였습니다.
그럼 잘 사용하시고 성공하시길 바래요고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
279
6
4
66
오래 전
2025.02.25
오래 전
관리자 기본 환경설정 여분 필드 추가하기
안녕하세요...미니님a입니다.
관리자 페이지 내 기본 환경설정 여분 필드를 쉽게 추가 하기 위한 팁입니다.다만, 해당 내용은 기본 코어를 수정할 수 밖에 없는 관계로 원치 않는 경우는 사용하지 마시길 바랍니다.
예) 수정 이후 추후 업데이트 시 파일 복붙 하면 기존 데이터가 다 삭제되기 때문입니다.
1. 여분필드 추가 파일 생성 - 파일명 아무거나 예) abcd.php - index.php 가 있는 최상위에 업로드 해주세요
<?php include_once ('_common.php'); $max = 20; // 최대 몇까지 만드실 지 정해주세요 (단 이 숫자는 기억해주세요) for ($i = 11; $i <= $max; $i++) { $sql = "ALTER TABLE `g5_config` ADD `cf_{$i}_subj` VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL AFTER `cf_" . ($i-1) . "_subj`;"; $sql2 = "ALTER TABLE `g5_config` ADD `cf_$i` VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL AFTER `cf_" . ($i-1) . "`;"; sql_query($sql); sql_query($sql2); }; echo '테이블 생성 완료';
그리고 홈페이지 상에서 실행 한번 해주세요예) 홈페이지주소/abcd.php그리고 실행 했다면 해당 파일은 삭제 해주셔도 무방합니다.
2. adm/config_form.php 파일 열어주세요1500번째 라인에 보면 다음 코드가 있습니다.
<?php for ($i = 1; $i <= 10; $i++) { ?> 위 코드를 아래 코드 처럼 변경 해주세요단. 예제 기준 20이지, abcd.php 파일에서 70을 했다면 아래 코드도 70으로 해야 됩니다.<?php for ($i = 1; $i <= 20; $i++) { ?>
3. adm/config_form_update.php 파일을 열어주세요
160번 라인 근처에 보시면 다음과 같은 코드가 있습니다.
for ($i = 1; $i <= 10; $i++) { $check_keys['cf_' . $i . '_subj'] = isset($_POST['cf_' . $i . '_subj']) ? $_POST['cf_' . $i . '_subj'] : ''; $check_keys['cf_' . $i] = isset($_POST['cf_' . $i]) ? $_POST['cf_' . $i] : '';}
여기에서 10이라는 숫자를 아까전에 abcd.php 파일에서 작성한 숫자로 변경 해주시면 됩니다.for ($i = 1; $i <= 10; $i++) { 이 코드를 for ($i = 1; $i <= 20; $i++) {이렇게 변경해주세요
4. 맨 하단에 쿼리 업데이트 문을 수정 해주세요
cf_1_subj = '{$_POST['cf_1_subj']}', cf_2_subj = '{$_POST['cf_2_subj']}', cf_3_subj = '{$_POST['cf_3_subj']}', cf_4_subj = '{$_POST['cf_4_subj']}', cf_5_subj = '{$_POST['cf_5_subj']}', cf_6_subj = '{$_POST['cf_6_subj']}', cf_7_subj = '{$_POST['cf_7_subj']}', cf_8_subj = '{$_POST['cf_8_subj']}', cf_9_subj = '{$_POST['cf_9_subj']}', cf_10_subj = '{$_POST['cf_10_subj']}', cf_1 = '{$_POST['cf_1']}', cf_2 = '{$_POST['cf_2']}', cf_3 = '{$_POST['cf_3']}', cf_4 = '{$_POST['cf_4']}', cf_5 = '{$_POST['cf_5']}', cf_6 = '{$_POST['cf_6']}', cf_7 = '{$_POST['cf_7']}', cf_8 = '{$_POST['cf_8']}', cf_9 = '{$_POST['cf_9']}', cf_10 = '{$_POST['cf_10']}' ";
이부분을 아래처럼 변경 해주시면 됩니다.
cf_1_subj = '{$_POST['cf_1_subj']}', cf_2_subj = '{$_POST['cf_2_subj']}', cf_3_subj = '{$_POST['cf_3_subj']}', cf_4_subj = '{$_POST['cf_4_subj']}', cf_5_subj = '{$_POST['cf_5_subj']}', cf_6_subj = '{$_POST['cf_6_subj']}', cf_7_subj = '{$_POST['cf_7_subj']}', cf_8_subj = '{$_POST['cf_8_subj']}', cf_9_subj = '{$_POST['cf_9_subj']}', cf_10_subj = '{$_POST['cf_10_subj']}', cf_11_subj = '{$_POST['cf_11_subj']}', cf_12_subj = '{$_POST['cf_12_subj']}', cf_13_subj = '{$_POST['cf_13_subj']}', cf_14_subj = '{$_POST['cf_14_subj']}', cf_15_subj = '{$_POST['cf_15_subj']}', cf_16_subj = '{$_POST['cf_16_subj']}', cf_17_subj = '{$_POST['cf_17_subj']}', cf_18_subj = '{$_POST['cf_18_subj']}', cf_19_subj = '{$_POST['cf_19_subj']}', cf_20_subj = '{$_POST['cf_20_subj']}', cf_1 = '{$_POST['cf_1']}', cf_2 = '{$_POST['cf_2']}', cf_3 = '{$_POST['cf_3']}', cf_4 = '{$_POST['cf_4']}', cf_5 = '{$_POST['cf_5']}', cf_6 = '{$_POST['cf_6']}', cf_7 = '{$_POST['cf_7']}', cf_8 = '{$_POST['cf_8']}', cf_9 = '{$_POST['cf_9']}', cf_10 = '{$_POST['cf_10']}', cf_11 = '{$_POST['cf_11']}', cf_12 = '{$_POST['cf_12']}', cf_13 = '{$_POST['cf_13']}', cf_14 = '{$_POST['cf_14']}', cf_15 = '{$_POST['cf_15']}', cf_16 = '{$_POST['cf_16']}', cf_17 = '{$_POST['cf_17']}', cf_18 = '{$_POST['cf_18']}', cf_19 = '{$_POST['cf_19']}', cf_20 = '{$_POST['cf_20']}' ";
※ 주의 사항 1. 마지막에는 , (콤마)가 들어가지 않습니다.2. abcd.php 파일에 생성한 개수 만큼 업데이트 하여야 합니다.
여기까지 하시면 여분필드를 설정한 만큼 사용할 수 있습니다.고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
190
2
65
오래 전
2025.02.25
오래 전
클라우드플레어 : 특정 도메인 aaa.com 과 www.aaa.com 을 메인 도메인으로 이동시켜주기
https://rebuilder.co.kr/tip/259에서 어느분께서 댓글 달아주셨는데...위 방법으로 할 경우 seo에 문제가 생길 수 있다고 합니다.그래서 준비해 보았습니다.(사실 준비를 했다고 말은 했지만... 이 방법이 seo에 영향을 끼치는지는 잘 모릅니다. 다만 자바스크립트 태그로 이동이 아닌 클라우드플레어 사용자를 위한 클플 도메인 관리도구를 통해 손쉽게 이동시키기 위함이니 단순 클라우드플레어 도메인 리디렉션 방법이라고 생각해주시면 감사하겠습니다)클라우드플레어를 이용한 특정 도메인 aaa.com 과 www.aaa.com 을특정 URL(메인 도메인으로 이동시키기)로 이동시키는 방법
사진으로 애플펜슬을 이용해 손쉽게 표현 해봤습니다.이미지 참고 잘 해주시구요.모르시는것 있으시면 질문주세요.(설정방법외 전문적인건 답변 못드림)
7번 부분은 본인이 사용하시는 메인도메인 주소 입력해 주시면 되겠습니다.
마지막으로 오*오*님을 기*루* 로 오해한 부분과 본의 아니게... 기모 란 사람을 부른건데 기모찌 기모찌... 라고 조롱거리로 삼았다고 느끼게 오해 불러일으킨점 이 게시글 자리를 빌어 사과드립니다미안합니다. 오*오*님
bank365
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
198
1
64
오래 전
2025.02.24
오래 전
댓글 개수가 많을 때 더보기 버튼을 통해 댓글 펼치기
안녕하세요...미니님a입니다.
개선 및 제안 게시판 내 해당 요청이 있어 간단하게 팁으로 만들었습니다.https://rebuilder.co.kr/propose/771
댓글이 5개가 넘지 않는다면, 더보기 버튼이 보이지 않으며,5개가 넘을 시 총 개수가 함께 노출 됩니다.
만약 스킨으로 적용하고자 한다면 아래 링크를 통해 다운로드 할 수 있습니다.https://rebuilder.co.kr/userdata/393
기본 / 통합 모두 적용 가능합니다.
1. 기본의 경우 사용하시는 게시판 스킨 폴더의 view_comment.skin.php 파일을 열어주세요만약 통합이라면 사용하시는 게시판 스킨 폴더 내 cmt/basic/skin.php 파일을 열어주세요
그 이후 똑같이 쓰시면 됩니다.
상단에 css 를 추가 해주세요단. style.css 에 작성하셔도 무방합니다.
<style> .hidden-comment { display: none; } .load-more-btn { display: block; width: 100%; padding: 15px; margin: 20px 0; background: #f9f9f9; border: 1px solid #ddd; text-align: center; cursor: pointer; transition: all 0.3s ease; } .load-more-btn:hover { background: #f0f0f0; } </style>
위치를 잘 모르겠다 하시면 아래 스샷 참고 하세요
자 다음에는 아래 코드를 찾아주세요
<article id="c_<?php echo $comment_id ?>">
그리고 아래 처럼 변경 합니다.
<article id="c_<?php echo $comment_id ?>" class="<?php if($i >= 5) echo 'hidden-comment'; ?>">
변경 이니 별도로 스샷은 업로드 하지 않습니다.
자 다음에는 아래 코드를 찾아주세요
<?php if ($i == 0) { //댓글이 없다면 ?><p id="bo_vc_empty">등록된 댓글이 없습니다.</p><?php } ?>
그리고 그 아래에 아래 코드를 추가 합니다.
<?php if($cmt_amt > 5) { ?> <button type="button" id="load-more-comments" class="load-more-btn" data-current="5" data-total="<?php echo $cmt_amt; ?>"> 더보기 (5/<?php echo $cmt_amt; ?>) </button> <?php } ?>
어디인지 모르겠다? 하시면 스샷 참고 하시길 바랍니다.
마지막으로 맨 하단에 보면 스크립트 댓글 열기를 찾아주세요단. 통합의 경우는 해당 파일이 아닌 통합 스킨폴더 내 view_comment.skin.php 에 아래 내용이 있습니다.
<script> jQuery(function($) { //댓글열기 $(".cmt_btn").click(function(e){ e.preventDefault(); $(this).toggleClass("cmt_btn_op"); $("#bo_vc").toggle(); }); }); </script>
여기에 아래 코드만 추가만 해주시면 됩니다.
var $comments = $('#bo_vc article'); var $loadMoreBtn = $('#load-more-comments'); $loadMoreBtn.click(function() { var current = parseInt($(this).data('current')); var total = parseInt($(this).data('total')); var next = current + 5; var $btn = $(this); // 다음 5개의 댓글을 보여줌 $comments.slice(current, next).removeClass('hidden-comment').fadeIn(400, function() { // fadeIn 완료 후 실행 if (next >= total) { $btn.fadeOut(200); // 버튼을 부드럽게 사라지게 함 } }); // 더보기 버튼 상태 업데이트 $btn.data('current', next); $btn.text('더보기 (' + Math.min(next, total) + '/' + total + ')'); });어떻게 넣어야 할지 모르겠다면 아래 스샷을 참고 하세요
실제 구동 영상은 아래와 같습니다.고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
262
4
3
63
오래 전
2025.02.18
오래 전
테스트 서버에는 정해진 아이피만 접근하기
안녕하세요...미니님a입니다.
필요에 의해 테스트 서버 하나쯤은 가지고 계시죠?근데 다른 사람들은 접근할 수 없게 만들어야 할 때가 종종 있습니다.
실제로 제가 업로드 할 때 테스트 하는 리빌더 테스트 서버는 저만(?) 접속이 가능하거든요http://rbtest.dothome.co.kr
위 접속하시면 아래 처럼 뜨는데요!!
이런 식으로 타인에게는 접속을 허용하지 않고, 나만의 서버로 자유롭게 테스트 할 때 유용하게 사용할 수 있는 팁입니다!
소스에 대해 알고 계신다면 먼저 extend 폴더에 server.extend.php 파일을 생성해주세요 (이건 없기에 만들어야 합니다.)그리고 아래 코드를 통으로 복사해서 붙혀 넣으시면 됩니다.
만약 소스에 대해서 잘 모르신다면 첨부된 파일을 다운로드 받아 압축해제 이후 extend 폴더에 넣어주시고, 본인의 아이피 대역만 설정해주시면 됩니다.(어찌 되었던 코드는 ㅠㅠ 조금 수정하셔야 합니다.)
<?php if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 $ip = '^(5.7.|5.50.|20.18.)'; if (!preg_match("/$ip/", $_SERVER['REMOTE_ADDR'])) { echo 'rebuilder 테스트 서버입니다.'; exit; }
상단에 아이피 대역은 본인의 아이피를 입력 하시거나 / 아이피 대역을 입력하시면 해당 사용자들만 접속이 가능합니다.
광역으로 설정 되어있으며, 정확하게 하려면 아이피를 정확하게 입력해주시면 됩니다.본인 아이피는 아래 링크 (네이버) 누르면 확인 가능합니다.
https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%EB%B3%B8%EC%9D%B8+%EC%95%84%EC%9D%B4%ED%94%BC+%ED%99%95%EC%9D%B8
소스 코드는 2자리 광역이며, 만약 3자리 광역으로 하고자 한다면
5\.7\.13\. 으로 하시면 됩니다.구분은 | 파이프로 처리 하시면 됩니다.
고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
222
2
1
62
오래 전
2025.02.18
오래 전
[멤버십] 구독 시 포인트 지급 및 구독 취소 시 알림 설정
안녕하세요...미니님a입니다.
해당 내용은 멤버십 내 "구독 + 알림" https://rebuilder.co.kr/item/126 을 사용하고 있다는 가정하에 공유 드리는 팁입니다.
나는 소스 수정에 대해서 잘 알지 못한다? 하시면 아래 링크를 통해 다운로드 하시면 됩니다.https://rebuilder.co.kr/memberdata/119
해당 팁에서 공유 되는 내용은 다음과 같습니다.
1. 구독 추가 시 알림이 오지만, 구독 취소 시 알림이 오지 않아요 그래서 알림 추가
2. 구독 추가 시 보너스 포인트 지급 및 구독 해제 시 보너스 포인트 회수를 통한 구독 시스템 활성화
보너스 포인트 지급을 통해 구독을 유도 하고, 활성화 할 수 있는 방법이 아닐까? 조심스러운 생각이 듭니다.
수정 되는 파일은 2곳입니다.rb/rb.mod/subscaribe/ajax.subscribe.phprb/rb.mod/subscaribe/ajax.subscribe_update.php
먼저. rb/rb.mod/subscaribe/ajax.subscribe.php 파일을 열어주세요
다음 소스를 찾아주세요
$data = array('status' => 'del');
그리고 바로 위에 소스를 넣어주세요
// 구독 취소한 회원 정보 가져오기 $sb_fw_info = get_member($sb_fw_id); // 구독 취소시 포인트 차감 (-100 포인트) insert_point($member['mb_id'], 100 * - 1, $sb_fw_info['mb_nick'].'님 구독 취소', '@subscribe', 'subscribe_'.G5_TIME_YMDHIS, G5_TIME_YMDHIS); // 구독 취소 알림 메시지 발송 memo_auto_send($member['mb_nick'].'님 께서 회원님을 구독 취소 하셨습니다.', G5_URL.'/rb/home.php?mb_id='.$sb_mb_id.'&ca=fn', $sb_fw_id, "system-msg");
주석 처리 해뒀으니 참고하시면 되며, 100포인트는 임의로 설정한 것입니다. 더 많이 주실 수록 시스템이 활성화 되리라 믿습니다?잘 모르겠다? 하시는 분들을 위해 스샷 부분 참고하세요
그리고 하단에 구독 추가 시 알림은 기본적으로 되어있어 포인트 지급 부분만 수정 하면 됩니다.
$data = array('status' => 'ok');
코드 바로 위에 아래 코드를 넣어주세요
// 구독 대상 회원 정보 가져오기 $sb_fw_info = get_member($sb_fw_id); // 구독 추가시 포인트 지급 (100 포인트) insert_point($member['mb_id'], 100, $sb_fw_info['mb_nick'].'님 구독 추가', '@subscribe', 'subscribe_'.G5_TIME_YMDHIS, G5_TIME_YMDHIS);
마찬가지로 잘 모르겠다? 하시면 아래 스샷 보고 참고 하세요
자! 여기까지 오셨다면 기본적으로는 끝났습니다.다만 My 페이지 내 구독자에서 삭제 시 포인트 회수 및 알림 설정이 남았습니다.
rb/rb.mod/subscaribe/ajax.subscribe_update.php 파일을 열어주세요
그리고 삭제 되는 부분을 찾습니다.
if($sb_type == "del") { if (isset($_POST['sb_id']) && !empty($_POST['sb_id'])) { $mb_id = $member['mb_id']; $sb_id = $_POST['sb_id'];
그리고 $sb_id 하단에 아래 코드를 넣어주세요
// 구독 취소한 회원 정보 및 데이터 가져오기 $sb_data = sql_fetch("SELECT * FROM rb_subscribe WHERE sb_id = '{$sb_id}' and sb_mb_id = '{$mb_id}'"); $sb_info = get_member($sb_data['sb_fw_id']); // 구독 취소시 포인트 차감 (-100 포인트) insert_point($mb_id, 100 * - 1, $sb_info['mb_nick'].'님 구독 취소', '@subscribe', 'subscribe_'.G5_TIME_YMDHIS, G5_TIME_YMDHIS); // 구독 취소 알림 메시지 발송 memo_auto_send($member['mb_nick'].'님 께서 회원님을 구독 취소 하셨습니다.', G5_URL.'/rb/home.php?mb_id='.$mb_id.'&ca=fn', $sb_data['sb_fw_id'], "system-msg");
스샷은 아래를 참고 하세요
여기까지!입니다.
여기까지 잘 따라 오셨다면 구독 시 100포인트가 지급되며, 구독 취소 시 100포인트가 회수 됩니다.또한 구독 취소 시 알림까지 오게 됩니다.
구동 영상은 아래를 참조 하시길 바랍니다.고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
224
0
61
오래 전
2025.02.16
오래 전
홈페이지 접속시 연결된 여러도메인을 일괄적으로 메인도메인으로 이동시켜주기
www.aaa.com 접속시www.ccc.com 으로 접속하고 싶을경우
이외 모든 연결된 도메인을 www.ccc.com 으로 접속하고자 할 경우
<script type="text/javascript">
var url = "www.ccc.com";
if(location.host.toLowerCase().indexOf(url) == -1){
location.href = "https://" + url + location.pathname + location.search;
}
</script>
그누보드5에 적용하고 싶으신 분들은위 스크립트를그누보드5 관리자 페이지 > 환경설정 > 레이아웃 추가설정(추가 script, css) 에다가 넣으시면 됩니다.
bank365
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
252
2
3
60
오래 전
2025.02.14
오래 전
게시글 목록 인기순/추천순/날짜순 정렬 기능 추가 하기
안녕하세요...미니님a입니다.
해당 기능은 댓글로 팡야님께서 요청 하셔서 작업 했습니다.해당 기능은 커스터마이징을 한 사용자에게 유효하며, 스킨으로 적용하실 분들은 아래 링크에서 적용하시면 됩니다.
스킨 https://rebuilder.co.kr/userdata/366
단. 공지는 최우선 정렬이라서, 포함되지 않습니다.
기본 : theme/rb.basic/skin/board/rb_basic/list.skin.php 파일을 열어주세요통합 : theme/rb.basic/skin/board/rb.bbs/list.skin.php 파일을 열어주세요
그리고 상단에 스타일을 우선 적용 해주세요단. style.css 에 적용하셔도 무방합니다.
<style> .order_list{ display: flex; justify-content: flex-end; margin-bottom: 24px; } .sort_select_wrap{ flex-basis: 15%; } @media (max-width: 1024px) { .sort_select_wrap{ flex-basis: 20%; } } @media (max-width: 768px) { .sort_select_wrap{ flex-basis: 30%; } } @media (max-width: 480px) { .sort_select_wrap{ flex-basis: 40%; } } </style>
어딘지 잘 모르겠다? 하시면 아래 스샷 참고 하세요
그리고 다음 코드를 찾아 주세요통합 게시판의 경우는 theme/rb.basic/skin/board/rb.bbs/top/basic/skin.php 파일 맨 하단에 있습니다. (똑같은 코드가 있음)
<div class="cb"></div> </ul>
이 코드 바로 밑에 아래 코드를 넣어주세요
<div class="order_list"> <div class="sort_select_wrap"> <select name="sort_option" id="sort_option" onchange="changeSortOption(this.value)" class="select" style="width: 100%;"> <option value="wr_datetime desc" <?php echo ($sst == 'wr_datetime' && $sod == 'desc') ? 'selected' : ''; ?>>최신순</option> <option value="wr_good desc" <?php echo ($sst == 'wr_good' && $sod == 'desc') ? 'selected' : ''; ?>>추천순</option> <option value="wr_hit desc" <?php echo ($sst == 'wr_hit' && $sod == 'desc') ? 'selected' : ''; ?>>조회순</option> </select> </div> </div> 마찬가지로 잘 모르겠다? 하시면 아래 스샷 참고 하세요
자 다왔습니다. 이제 맨 하단에 스크립트만 추가 해주시면 됩니다.이부분은 코드 찾는게 아니라 진짜 맨 끝으로 이동 해주세요
그리고 다음 코드를 넣어주세요통합 게시판의 경우 theme/rb.basic/skin/board/rb.bbs/list.skin.php 파일 맨 하단에 넣어 주시면 됩니다.
<script> function changeSortOption(value) { var [sst, sod] = value.split(' '); var currentUrl = window.location.href; // URL에서 현재 정렬 파라미터 제거 currentUrl = currentUrl.replace(/[?&]sst=[^&]+/, '').replace(/[?&]sod=[^&]+/, ''); // 새로운 정렬 파라미터 추가 var connector = currentUrl.includes('?') ? '&' : '?'; var newUrl = currentUrl + connector + 'sst=' + sst + '&sod=' + sod; // 페이지 새로고침 window.location.href = newUrl; } </script> 마찬가지로 잘 모르겠다? 하시면 스샷 참고 하시길 바랍니다.
자 끝났습니다. 이제 테스트 해보시겠어요?실제 구동 영상은 아래와 같습니다.
고맙습니다.
[수정 반영]2025.02.17- 모바일에서 셀렉트 박스가 비정상적으로 보이던 오류 수정 *상단 스타일 부분만 수정 되었습니다.*
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
294
5
3
59
오래 전
2025.02.14
오래 전
게시판 내 추천해요/별로에요 숫자를 실시간으로 변경해봅시다.
안녕하세요...미니님a입니다.
리빌더에 추천/비추천 > 추천해요/별로에요 라는 문구로 변경 되어 사용 중이신 것을 알고 계실겁니다.그런데 원래 추천/비추천을 하게 되면 실시간으로 숫자가 올라갑니다.
그렇지만, 리빌더에는 그 기능이 누락 되어있습니다.기능상 오류는 아니고 리빌더 개발과정에서 해당 태그를 뺀 것으로 보이는데요
무슨 말인지는 아래 영상 확인해보세요
그리고 새로고침 하면 정상적으로 숫자가 보여지게 됩니다.
이걸 수정할 것인데요별거 아닙니다.
파일 경로는 다음과 같습니다.
기본: theme/rb.basic/skin/board/rb_basic/view.skin.php통합: theme/rb.basic/skin/board/rb.bbs/skin/view/basic/skin.php
아래 코드를 찾아주세요[code]<div id="bo_v_act"> <?php if ($good_href) { ?> <span class="bo_v_act_gng"> <a href="<?php if(!$is_member) { ?>javascript:alert('로그인 후 이용하실 수 있습니다.');<?php } else { ?><?php echo $good_href.'&'.$qstr ?><?php } ?>" id="good_button" class="bo_v_good">추천해요 <?php echo number_format($view['wr_good']) ?></a> <b id="bo_v_act_good" class="font-R"></b> </span> <?php } ?> <?php if ($nogood_href) { ?> <span class="bo_v_act_gng"> <a href="<?php if(!$is_member) { ?>javascript:alert('로그인 후 이용하실 수 있습니다.');<?php } else { ?><?php echo $nogood_href.'&'.$qstr ?><?php } ?>" id="nogood_button" class="bo_v_nogood">별로에요 <?php echo number_format($view['wr_nogood']) ?></a> <b id="bo_v_act_nogood" class="font-R"></b> </span> <?php } ?> </div>[/code]
여기에서
[code]<?php echo number_format($view['wr_good']) ?> [/code]
해당 부분을
[code]<strong><?php echo number_format($view['wr_good']) ?></strong>[/code]
요렇게 변경 해주세요
그리고 바로 밑에 별로에요 부분을 찾아주시구요
[code]<?php echo number_format($view['wr_nogood']) ?>[/code]
해당 부분을
[code]<strong><?php echo number_format($view['wr_nogood']) ?></strong>[/code]
변경하시면 실시간으로 변경 됩니다.구동 영상은 아래를 참조 하세요
고맙습니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
256
8
9
58
오래 전
2025.02.12
오래 전
그누보드5(리빌더) 영카트(쇼핑몰) 끄기/사용안하기
그누보드에선 영카트와 그누보드가 하나로 배포 되고, 설치되어 있습니다.근데, 리빌더 혹은 커뮤니티만 운영하고 싶을 경우 SHOP/마켓/영카트 메뉴가 노출 되어 불편을 겪고 계신 분들이 계실텐데요그럴경우 아래의 간단한 조치만으로 해결 할 수 있습니다.
data/dbconfig.php를 찾습니다
해당 파일을 열어코드 찾기define('G5_USE_SHOP', true);를 찾아 true 를, false 로 변경
예시 :define('G5_USE_SHOP', false);
false로 바꾸면, 그누보드5 관리자 페이지서 쇼핑몰 관련 메뉴들이 전부 하이드 (숨김)처리 됩니다.
bank365
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
372
1
2
57
오래 전
2025.02.09
오래 전
관리자 추가
그누보드는 기본적으로 최고관리자 1명, 게시판 관리자는 각 게시판별로 1명만 지정할 수 있습니다.관리자가 여러명 필요할 때 참고하세요.
/extend/default.config.php 파일에 추가
// 최고관리자 (회원id 지정)
if ($member['mb_id'] == '회원아이디1') $is_admin = 'super';
if ($member['mb_id'] == '회원아이디2') $is_admin = 'super';
// 최고관리자 (특정 레벨 지정)
if ($member['mb_level'] == 회원레벨) $is_admin = 'super';
타임프렌즈
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
320
2
2
56
오래 전
2025.02.07
오래 전
공지사항 접기 기능을 만들어 봅시다.
안녕하세요...미니님a입니다.
공지사항이 너무 많거나 / 사용자 입장을 고려해 공지 사항 닫기(접기) 기능을 간단하게 구현할 수 있습니다.별도로 스킨으로 올리지 않는 이유는 몇가지 코드만 추가 하면 되기 때문입니다.
기본의 경우 rb.basic_bbs/list.skin.php 파일을 열어 아래 코드를 찾아주세요통합의 경우 rb.bbs/top/basic/skin.php 파일을 열어 동일하게 아래 코드를 찾아주시면 됩니다.
[code]<ul class="rb_bbs_top">[/code]
그리고 그 바로 밑에 다음 코드를 추가 해주세요
[code]<li><button type="button" class="btn_b01 btn notice_icon" title="공지 닫기"><i class="fa fa-bullhorn" aria-hidden="true"></i><span class="sound_only">공지 닫기</span></button></li>[/code]
잘 모르겠다? 하시면 아래 스샷 참고 하시면 됩니다.
그리고 조금만 내려 보시면 스크립트가 있는데 아래 코드를 찾아주세요기본/통합 둘다 있는 코드입니다.
[code] $('#point_info_opens_btn').click(function(event) { event.stopPropagation(); $('.point_info_opens').toggle(); $(this).toggleClass('act'); });[/code]
그리고 여기 밑에 아래 코드를 넣어주시면 됩니다.
[code] $("tr:has(.lb_ico_noti)").hide(); let notice_shown = localStorage.getItem('notice_shown'); if (!notice_shown) { $("tr:has(.lb_ico_noti)").show(); } $(document).on("click", ".notice_icon", function() { let noticeKey = 'notice_shown'; if (localStorage.getItem(noticeKey) !== 'true') { localStorage.setItem(noticeKey, 'true'); } else { localStorage.removeItem(noticeKey); } $("tr:has(.lb_ico_noti)").toggle(); });[/code]
마찬가지로 스샷 참고 하시면 됩니다.
끝입니다. 이렇게 하시면 공지 접기가 동작하며,
로컬스토리지를 이용하기 때문에 새로고침을 하더라도 공지 접기가 유효합니다.
실 동작은 아래 영상은 참고 하세요
고맙습니다.
※ 힘내서 많은 팁을 공유할 수 있도록 추천 한번 부탁드립니다.
미니님a
미니홈
1:1 대화하기
미니홈
1:1 대화하기
인기
282
4
6
검색
처음
1
페이지
2
페이지
3
페이지
열린
4
페이지
5
페이지
다음
맨끝
검색
게시물 검색
검색대상
제목
내용
제목+내용
글쓴이
글쓴이(코)
검색어
필수
Guest
로그인
회원가입
리빌더
리빌더
다운로드
리빌더 데모
리빌더 마켓 데모
빌더 소개
n
이용가이드
소식
소식
공지사항
이벤트
업데이트 노트
업데이트 캘린더
개발실적
부가기능
부가기능
전체
게시판
시스템
확장기능
API
최신글
위젯
레이아웃
u
웹폰트
부가서비스
부가서비스
Rb 프리미엄
Rb 테마
Rb 에디터
Rb 어드민
멤버십
리셀러
에디터
웹뷰 패키징
신규개발 의뢰
자료실
자료실
유저 자료실
멤버십 자료실
지원
지원
질문과 답변
버그제보
개선 및 제안
기술지원 요청
포럼
포럼
자유 게시판
n
팁과 노하우
사용후기