팁과노하우

  • 팁과노하우 포인트 정책
      글쓰기
      100P
      댓글
      10P
  • 전체 26건 / 1 페이지
    • 26
    • 12시간 전
      2025.03.12
  • 12시간 전
  • 게시판 공지사항 색상으로 강조하기
  • 안녕하세요...미니님a입니다.
    게시판 공지는 조금 특별하게 배경색을 넣고 싶을 떄? 있으실 것입니다.그누보드 기본 스킨에 내장 되어있고, 리빌더 style.css 에도 내장되어있지만, 기능 자체만 빼서 배지로 공지 출력 하고 있습니다.
    색상까지 추가하시려는 분들께 드리는 팁입니다.결과를 미리 보자면

    이렇게 색상이 들어갑니다. 위에 언급해드린데로 색상 자체는 css 에 기본 내장되어있습니다.
    사용하시는 스킨/list.skin.php 파일 열어주세요통합 사용하시는 분들은 스킨/list/basic/skin.php 파일을 열어주세요
    커스터마이징을 하신 분들이 계시기에 라인 수는 일치하지 않겠지만.대략 210번 라인 근처에 보면 이런 구문이 있습니다.
    [code]  <?php                         for ($i=0; $i<count($list); $i++) {                             $sec_icon = '';                             if (strstr($list[$i]['wr_option'], 'secret')) {                                 $sec_txt = '<span style="opacity:0.6">작성자 및 관리자 외 열람할 수 없습니다.<br>비밀글 기능으로 보호된 글입니다.</span>';                                 $sec_icon = '<img src="'.$board_skin_url.'/img/ico_sec.svg"> ';                             }                         ?>[/code]
    이 코드 바로 밑에 뭐가 있냐면 <tr>이 있습니다.
    이 tr을 아래 코드로 변경 해주세요...
    [code]<tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">[/code]
    끝입니다. 다만 배경색을 어디서 바꾸는지 까지 알려드려야 할 것 같습니다.스킨 폴더 내 style.css 파일을 여시면 100번째 라인 근처 혹은 아래 코드를 검색 해, 배경 색만 변경하시면 됩니다.
    [code].bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee}[/code]
    여기에 작성된 배경색을 수정해주시면, 원하는데로 동작할 것입니다.
    고맙습니다.
    • Uploaded Image
    • 25
    • 14시간 전
      2025.03.12
  • 14시간 전
  • [멤버십] 탈퇴한 회원의 경우 home 접근 / 구독 정보 삭제
  • 안녕하세요...미니님a입니다.
    게시판 보다가 https://rebuilder.co.kr/qna/2303미니홈 최근게시물 및 구독관련 > 질문과 답변 | 그누보드 리빌더웹사이트 부터 쇼핑몰, 그리고 플랫폼 까지! 가볍게 만들고 묵직하게 확장하는 그누보드 리빌더https://rebuilder.co.kr/qna/2303
    내용을 보면서 버그로 판단 되는 부분을 빠르게 수정 하였습니다.권한은 일단 패스하고
    1. 또한 실제로 없는 아이디의 경우와 탈퇴한 경우에도 구독버튼이 정상 작동하는 문제도 보입니다.
    이 부분 해결 해보겠습니다.
    먼저 rb/home.php 파일을 열어주세요
    그리고 19번 라인 다음에 (회원정보가 존재하지 않는다)아래 코드를 넣어주세요[code]// 탈퇴한 회원인지 확인 if (!empty($mb['mb_leave_date'])) {     alert('탈퇴한 회원입니다.', G5_URL); }[/code]

    ===========================================여기서부터는 멤버십 내용입니다.
    회원 탈퇴 시 구독자가 줄어들지 않고 탈퇴한 사용자 이름이 그대로 있는 버그가 있어 수정하였습니다. extend/rb_subscribe.extend.php 파일을 열어주세요
    맨 하단에 훅을 이용해 회원 탈퇴 시 구독 리스트에서 삭제하는 코드입니다. 맨 하단에 그냥 코드 그대로 넣어주시면 됩니다.
    [code] add_event('member_leave', 'sb_member_leave', G5_HOOK_DEFAULT_PRIORITY, 1);
    function sb_member_leave($member) {     global $g5;     $sql = "DELETE FROM rb_subscribe WHERE sb_mb_id = '{$member['mb_id']}'";     sql_query($sql); } [/code]
    또한 회원 탈퇴가 된 경우, 구독을 할 수 없도록 수정하여야 합니다.제작된 원본 코드는 json 으로 반환은 하지만, 메시지가 반환 되지 않는 구조라, 어쩔 수 없이 자바스크립트를 통해 수정해야 합니다. 


    수정 해야 될 부분은 2곳입니다.rb/rb.mod/subscribe/subscribe.skin.phprb/rb.mod/subscribe/subscribe_my.skin.php
    2개의파일 동일하게 수정해주시면 됩니다.
    5번 라인에 2줄을 넣어주세요[code]$sb_mb = get_member($sb_mb_id); $is_leave = $sb_mb['mb_leave_date'] && $sb_mb['mb_leave_date'] !== '';[/code]
    스크린샷은 다음과 같습니다.

    그리고 밑에 <a class 되어있는 부분의 onclick 이벤트에서 is_leave 를 추가해주셔야 합니다.
    [code]onclick="subscribe_add('<?php echo $member['mb_id'] ?>', '<?php echo $sb_mb_id ?>', '<?php echo $is_leave ?>');"[/code]


    마지막으로 자신을 구독할 수 없습니다. 라는 스크립트 구문에 else if 를 추가 합니다.
    [code]}else if(is_leave) {  alert('탈퇴한 회원입니다.');  return false; } else {[/code]
    스크린샷은 다음과 같습니다.

    이렇게 하시면 구독 및 탈퇴한 회원의 홈 접근을 막을 수 있습니다.고맙습니다.



    • Uploaded Image
    • 24
    • 15시간 전
      2025.03.12
  • 15시간 전
  • [수정][멤버십] PHP8 에서 구독 + 서명 사용 시 오류 수정
  • 안녕하세요...미니님a입니다.
    php8 환경에서 게시판 내 서명 사용 시,회원 프로필 정보가 나오는데요
    구독을 이용시 구문 오류가 발생합니다.
    해당 내용은 다음과 같이 수정할 수 있습니다.rb/rb.mod/subscribe/subscribe.skin.php 파일을 열어주세요
    3번 라인에 다음 코드를 넣어주시면 됩니다.[수정 - 03.12 14:40] - member > view 로 변경$sb_mb_id = $view['mb_id'];
    스샷 참고 하시길 바랍니다.




    해당 변수가 설정되지 않아 발생한 구문 오류였습니다.
    위 내용 적용 시 정상적으로 이용할 수 있습니다.


    고맙습니다.
    • Uploaded Image
    • 23
    • 1일 전
      2025.03.11
  • 1일 전
  • 마이 페이지 내 새글 / 새댓글에서 특정 게시판은 제외 하기
  • 안녕하세요...미니님a입니다.
    새글 / 새댓글에서 모든 게시판이 다 나와서 특정 게시판을 제외 하고 싶다는 의견이 있어별도로 팁으로 작성합니다.
    해당 기능은 "본인은 다 보이며, 타인이 내 홈에 왔을 땐 보이지 않는 기능" 입니다.
    예를 들어 익명 게시판 / 질문과 답변 등등
    이런 게시판은 새글 혹은 새 댓글에서 제외할 수 있습니다.
    또한 해당 팁은 별도로 스킨을 제작하거나 코드를 포함하지 않으므로, 별도로 추가 하시길 바랍니다.추후 업데이트 되는 내용이 있어 덮어 씌워질 경우 해당 코드가 유실 될 수 있으니 별도 보관 혹은 스크랩 해두셔서 관리하시길 바랍니다.
    다음 파일을 찾아주세요theme/skin/rb.basic/skin/member/rb.member/home.skin.php 
    여기에서 아래 코드를 찾아주세요 대략 260번 라인 근처에 있을꺼에요
    <?php if($ca == "bbs" || $ca == "") { ?>
    위 코드 아래에 보면  $sql_commons = " from {$g5['board_new_table']} a, {$g5['board_table']} b where a.bo_table = b.bo_table and a.wr_id = a.wr_parent and a.mb_id = '{$mb['mb_id']}' order by a.bn_id desc ";
    이 코드를 아래 코드로 변경 해주시면 됩니다.  // 제외할 게시판 배열 정의 $exclude_boards = array('free', 'notice'); // 제외할 게시판 테이블명 추가 // 제외할 게시판 조건 생성 $exclude_condition = "";  if($member['mb_id'] != $mb['mb_id'] && !empty($exclude_boards)) {     $exclude_condition = " and a.bo_table NOT IN ('" . implode("','", $exclude_boards) . "')"; } $sql_commons = " from {$g5['board_new_table']} a, {$g5['board_table']} b where a.bo_table = b.bo_table and a.wr_id = a.wr_parent and a.mb_id = '{$mb['mb_id']}'{$exclude_condition} order by a.bn_id desc ";
    제외할 게시판 배열에 원하는 게시판 이름을 적어주시면 됩니다.이렇게 하시면 해당 게시판에 내용은 생략 되어 새글이 출력 됩니다.
    만약 새 댓글을 사용중이시라면 하나 더 수정 해주셔야 합니다.약 450번 라인 근처에
    <?php if($ca == "comment") { ?> 를 찾아주세요
    그리고 바로 밑에 보면 이 코드가 있습니다.$sql_commons = " from {$g5['board_new_table']} a, {$g5['board_table']} b where a.bo_table = b.bo_table and a.wr_id <> a.wr_parent and a.mb_id = '{$mb['mb_id']}' order by a.bn_id desc ";
    이 코드를 아래 코드로 변경 해주세요
     $exclude_boards = array('free', 'qa', 'faq'); // 제외할 게시판 테이블명 추가 // 제외할 게시판 조건 생성 $exclude_condition = ""; if($member['mb_id'] != $mb['mb_id'] && !empty($exclude_boards)) { $exclude_condition = " and a.bo_table NOT IN ('" . implode("','", $exclude_boards) . "')"; } $sql_commons = " from {$g5['board_new_table']} a, {$g5['board_table']} b where a.bo_table = b.bo_table and a.wr_id <> a.wr_parent and a.mb_id = '{$mb['mb_id']}'{$exclude_condition} order by a.bn_id desc ";

    이렇게 하시면 댓글도 특정 게시판은 제외를 할 수 있습니다.
    실제 구동 영상은 아래와 같습니다.고맙습니다.





    • Uploaded Image
    • 22
    • 2일 전
      2025.03.10
  • 2일 전
  • 비회원의 경우는 특정 게시판의 댓글을 볼 수 없게 해봅시다.
  • 안녕하세요...미니님a입니다.
    부득이하게 모든 게시판은 아니더라도, 특정 게시판에 댓글은 회원만 이용 가능하게 설정 해야 할 때가 있을 경우유용하게 사용할 수 있을 것입니다.
    결과 화면만 보면 다음과 같습니다.
    기본 / 통합 모두 적용 가능하며, 특정 게시판만 설정할 수 있습니다.
    기본: 스킨 폴더 내 view_comment.skin.php 파일통합: 스킨 폴더 내 skin/cmt/basic/skin.php 파일 입니다.
    찾을 소스는 다음과 같습니다.
    [code]<p>     <?php if (strstr($list[$i]['wr_option'], "secret")) { ?><img src="<?php echo $board_skin_url; ?>/img/ico_sec.svg" alt="비밀글"><?php } ?>     <?php echo $comment ?> </p>[/code]
    위 소스를 아래 소스로 변경 해주세요
    [code]<?php  $bo_table_array = ['free', 'notice'];  if(!$is_member && in_array($bo_table, $bo_table_array)) { ?>   <p>비회원은 댓글 열람이 불가능합니다.</p>   <p><a href="<?php echo G5_BBS_URL ?>/login.php?url=<?php echo $urlencode; ?>">로그인 해주세요</a></p>   <?php } else { ?>     <?php if (strstr($list[$i]['wr_option'], "secret")) { ?><img src="<?php echo $board_skin_url; ?>/img/ico_sec.svg" alt="비밀글"><?php } ?>     <?php echo $comment ?>    <?php } ?>[/code]
    끝입니다.
    위 소스 기준 자유게시판과 / 공지사항은 비회원이 댓글 열람이 불가능합니다.만약 자유게시판과 / 공지사항을 빼고 모두 열람하게 하고 싶다면  if(!$is_member && in_array($bo_table, $bo_table_array)) { ?>이부분에서 !in_array 로 느낌표만 추가 해주시면 반대로 설정할 수 있습니다.
    고맙습니다.

    • Uploaded Image
    • 21
    • 5일 전
      2025.03.07
  • 5일 전
  • [수정] 회원 가입 시 아이디는 반드시 영문 + 숫자를 포함 하기
  • 안녕하세요...미니님a입니다.
    회원 가입 시 영어만 쓸 수 있지만,특정 사이트에서는 영문 + 숫자를 반드시 써야 가입되는 사이트도 종종 보신 적 있으실 것입니다.그 기능 별거 아닙니다. 단순히 스크립트만 추가해주면 되는 기능입니다.
    theme\rb.basic\skin\member\rb.member\register_form.skin.php 파일을 열어주세요
    약 560번 라인에 다음 코드를 찾아주세요
    // 회원아이디 검사     if (f.w.value == "") {         var msg = reg_mb_id_check();         if (msg) {             alert(msg);             f.mb_id.select();             return false;         }     }
    해당 코드 바로 밑에 아래 코드를 넣어주시면 끝입니다.
    const hasLetter = /[a-zA-Z]/.test(f.mb_id.value);     const hasNumber = /[0-9]/.test(f.mb_id.value);       if (!hasLetter || !hasNumber) {         alert("아이디는 반드시 영문자와 숫자를 모두 포함해야 합니다.");         $("#reg_mb_id").focus();         return false;     }
    어딘지 잘 모르겠다? 하시면 아래 스크린샷 참조 하세요

    끝입니다.
    이렇게 하시면, 회원가입 시 반드시 영문과 숫자를 하나 포함해야 회원 가입 진행이 가능합니다.코드를 넣었음에도 동작하지 않는다면 일명 강력 새로고침인 컨트롤 + F5를 해주시면 정상 적용 됩니다.
    [추가] 25.0.03.07 11:27:00
    만약 회원 가입 시도 할 때, 아이디 체크 부분에서 해당 기능을 이용 할려면 bbs/ajax.mb_id.php 파일을 수정 할 수 있습니다.단. 해당 파일은 바뀔일은 없겠지만, 어찌 되었던 기본적으로 코어를 수정 지향하고 있으므로 차후 발생하는 문제는 책임지지 않습니다.
    해당 파일을 열어 아래 코드를 찾아 주세요 if ($msg = reserve_mb_id($mb_id))   die($msg);
    그 밑에 아래 코드를 넣어주시면 됩니다. // 아이디에 영문자와 숫자가 모두 포함되어 있는지 확인 $hasLetter = preg_match('/[a-zA-Z]/', $mb_id); $hasNumber = preg_match('/[0-9]/', $mb_id); if (!$hasLetter || !$hasNumber) {     die("아이디는 반드시 영문자와 숫자를 모두 포함해야 합니다."); }
    이렇게 하시면 아래 스크린샷 처럼 동작합니다.
     

    실제 구동 영상은 아래와 같습니다.고맙습니다.

     
    • b8ef608a226fefa19e7c0de8a22ef26e_1741310705_6993.png
    • 20
    • 8일 전
      2025.03.04
  • 8일 전
  • [수정] 별점 게시판의 점수를 5점이 아닌 10점으로 늘리기
  • 안녕하세요...미니님a입니다.
    최근에 유료로 공개된 별점 게시판에 5점을 10점으로 변경하는 팁입니다.영화도 10점 만점이니 5점이 부족하다고 느끼시는 분들에게는 유용하시리라 생각됩니다.
    큰 작업은 아닙니다.
    1. 해당 스킨의 style.css 를 열어주세요그 이후 컨트롤 + F 를 눌러 .star-rating 을 검색 합니다[추가 수정]2개가 나옵니다. .star-rating {position: relative;width: 120px;height: 24px;background-size: 24px 24px;cursor: pointer; touch-action: none;} .star-rating-container-v .star-rating {position: relative;width: 150px;height: 30px;background-size: 30px 30px;cursor: pointer; touch-action: none; margin: 0 auto; margin-top: 20px;}
    여기에서 가로를 120px > 240px 로 변경 해주세요그리고 하단에 150px > 300px로 변경 해주세요
    2. 해당 스킨의 write.skin.php 파일을 열어 주세요 144번 라인에 const maxStars = 5;
    위 코드 5를 10으로 만 변경 해주시면 됩니다.
    [추가 수정]생각해보니, 리스트랑 뷰도 수정해야 됩니다 ㅠㅠ
    3. 해당 스킨의 list.skin.php 파일을 열어주세요238번 라인에
    $star_bg = $star * 20;
    위 코드의 20을 10으로 변경 해주시면 됩니다.
    4. 해당 스킨의 view.skin.php 파일을 열어주세요121번 라인에
    $star_bg = $star * 20;
    위 코드를 10으로 변경 해주시면 됩니다.
    [추가수정]
    그리고 다음 코드를 검색 해주세요[code]const maxStars = 5;[/code]
    5를 10으로 변경 해주시면 됩니다.
    마지막으로 581번 라인 다음 코드를 찾아 주세요[code]// 별점 개수 조회 (새로운 구간 적용)$row_s1 = get_star_count($write_table, $wr_id, 4.5, 5.0); // 4.5~5.0$row_s2 = get_star_count($write_table, $wr_id, 3.5, 4.0); // 3.5~4.0$row_s3 = get_star_count($write_table, $wr_id, 2.5, 3.0); // 2.5~3.0$row_s4 = get_star_count($write_table, $wr_id, 1.5, 2.0); // 1.5~2.0$row_s5 = get_star_count($write_table, $wr_id, 0.5, 1.0); // 0.5~1.0                       [/code]
    위 코드를 아래 코드로 변경 해주세요[code]$row_s1 = get_star_count($write_table, $wr_id, 9.0, 10.0); // 9.0~10.0$row_s2 = get_star_count($write_table, $wr_id, 7.0, 8.9);  // 7.0~8.9$row_s3 = get_star_count($write_table, $wr_id, 5.0, 6.9);  // 5.0~6.9$row_s4 = get_star_count($write_table, $wr_id, 3.0, 4.9);  // 3.0~4.9$row_s5 = get_star_count($write_table, $wr_id, 0.1, 2.9);  // 0.1~2.9[/code]
    마지막으로 649번 라인에 그래프 레이블 수정 하면  됩니다.[code]labels: ["4.5~5.0", "3.5~4.0", "2.5~3.0", "1.5~2.0", "0.5~1.0"],[/code]
    위 코드를 아래 코드로 변경 해주세요[code]labels: ["9.0~10.0", "7.0~8.9", "5.0~6.9", "3.0~4.9", "0.1~2.9"],[/code]



     
    고맙습니다.
    • e19cd3d21f771ffd4d77adf281252782_1741076901_4192.png
    • 19
    • 8일 전
      2025.03.04
  • 8일 전
  • 회원 정보 수정 이후 원하는 페이지로 이동하기
  • 안녕하세요...미니님a입니다. 그누보드 시스템 내 정보 수정 시 다시 정보 수정 페이지로 이동 하게 구성 되어있습니다.회원 가입이 아닌 정보 수정의 경우 완료가 된 뒤 원하는 페이지로 이동 하게끔 만들어진 팁입니다.다른 코드 수정 없이 해당 기능을 이용할 수 있습니다. extend 폴더에 아무 이름이나 만들어주세요만약 구분하기 위함이라면 register_form_update.extend.php 이렇게 이름 지어주셔도 됩니다.이름은 말 그대로, 나중에 쉽게 찾기 위함입니다. 그리고 아래 코드만 넣어주시고, 원하시는 주소로 변경 해주시면 끝입니다.예제 코드는 정보 수정 이후 자유게시판으로 이동 하는 코드입니다. 당연히 수정되는 정보는 잘 저장 됩니다.
    <?php if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 add_event('register_form_update_after', 'register_form_update_after_event', G5_HOOK_DEFAULT_PRIORITY, 2); function register_form_update_after_event() { global $w; if($w == 'u') { alert('회원정보가 수정되었습니다.', G5_URL.'/free'); } }끝입니다. 고맙습니다.

     
    • 405480b71760e6f8a2ca03e8425c7a04_1741067017_0974.gif
    • 18
    • 8일 전
      2025.03.04
  • 8일 전
  • 이벤트 게시판 날짜 오류 수정하기!
  • 안녕하세요...미니님a입니다.
    최근 공개된 이벤트 게시판 내 날짜 선택 오류가 존재합니다.아래 스크린샷 확인해주세요
    보시는 바와 같이 3월 7일 시작이고 종료가 3월 2일??인 비정상적으로 선택되는 오류가 있습니다.다시 말해, 종료일 선택 시 시작일 보다 작으면 선택할 수 없도록 해야 합니다. 
    해당 오류를 수정 해봅시다.
    ※ 본 팁은 스킨으로 별도 제작하지 않습니다. 따라서, 아래 코드만 수정 시 정상 이용할 수 있습니다.
    이벤트 게시판/write.skin.php 75번 76번 라인을 찾아주세요아래 코드를 찾으시면 됩니다.
    [code]<input type="text" name="wr_1" class="datepicker_inp datepicker" value="<?php echo isset($write['wr_1']) ? $write['wr_1'] : ''; ?>" id="wr_1" class="input" placeholder="시작일" required autocomplete="off" readonly><input type="text" name="wr_2" class="datepicker_inp datepicker" value="<?php echo isset($write['wr_2']) ? $write['wr_2'] : ''; ?>" id="wr_2" class="input" placeholder="종료일" required autocomplete="off" readonly> [/code]
    위 코드를 아래 코드로 변경 해주세요
    [code]<input type="text" name="wr_1" class="datepicker_start datepicker" value="<?php echo isset($write['wr_1']) ? $write['wr_1'] : ''; ?>" id="wr_1" class="input" placeholder="시작일" required autocomplete="off" readonly><input type="text" name="wr_2" class="datepicker_end datepicker" value="<?php echo isset($write['wr_2']) ? $write['wr_2'] : ''; ?>" id="wr_2" class="input" placeholder="종료일" required autocomplete="off" readonly> [/code]
    그리고 바로 밑에 스크립트를 추가 해주세요[code]<script>        $(function() {            $('.datepicker_start').datepicker({                minDate: 0            });            $('.datepicker_end').datepicker({                minDate: 0,                beforeShow: function(input, inst) {                    var startDate = $('.datepicker_start').datepicker('getDate');                    if (startDate) {                        $(this).datepicker('option', 'minDate', startDate);                    }                }            });                        // 시작일이 변경되면 종료일의 최소 날짜를 업데이트            $('.datepicker_start').on('change', function() {                var startDate = $(this).datepicker('getDate');                if (startDate) {                    $('.datepicker_end').datepicker('option', 'minDate', startDate);                }            });        });    </script>[/code]
    잘 모르겠다? 하시면 아래 스크린샷 참고 하시길 바랍니다.
     위 처럼 설정 시 시작일은 오늘 이전을 선택할 수 없습니다. 아래 스크린샷 처럼요

     종료일의 경우 시작일 이전의 데이터는 선택할 수 없습니다. 아래 스크린샷 처럼요 20일까지라면 20일은 선택할 수 있지만, 19일까지는 선택 불가~~

     
    좋은 스킨 공유 해주셔서 감사합니다.리빌더 화이팅~~
    고맙습니다.
    • 17
    • 14일 전
      2025.02.26
  • 14일 전
  • 목록 사이에 텍스트 광고 혹은 배너 광고 넣기
  • 안녕하세요...미니님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번째에 광고가 노출 되므로 너무 많은 광고 노출 시 사용자 입장에서 불편할 수 있기 때문에 페이지 당 하나가 적절하다 판단하였습니다.
    그럼 잘 사용하시고 성공하시길 바래요고맙습니다.
    • 9deff7ac29f744f99fb090e7fc2dda1c_1740531941_3354.png
    • 16
    • 15일 전
      2025.02.25
  • 15일 전
  • 관리자 기본 환경설정 여분 필드 추가하기
  • 안녕하세요...미니님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 파일에 생성한 개수 만큼 업데이트 하여야 합니다.
    여기까지 하시면 여분필드를 설정한 만큼 사용할 수 있습니다.고맙습니다.
    • 7e04b2d72373cc29eba99b2df9c2c577_1740471718_0125.png
    • 15
    • 16일 전
      2025.02.24
  • 16일 전
  • 댓글 개수가 많을 때 더보기 버튼을 통해 댓글 펼치기
  • 안녕하세요...미니님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 + ')'); });어떻게 넣어야 할지 모르겠다면 아래 스샷을 참고 하세요

    실제 구동 영상은 아래와 같습니다.고맙습니다.

     


    • 277279c4b1a54cd7df2beb02f3ea4ffe_1740369666_5934.png
    • 14
    • 22일 전
      2025.02.18
  • 22일 전
  • 테스트 서버에는 정해진 아이피만 접근하기
  • 안녕하세요...미니님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\.   으로 하시면 됩니다.구분은 | 파이프로 처리 하시면 됩니다.
    고맙습니다.
    • a23659d8ced439b12c1c9beec1d09c63_1739845811_3227.png
    • 13
    • 22일 전
      2025.02.18
  • 22일 전
  • [멤버십] 구독 시 포인트 지급 및 구독 취소 시 알림 설정
  • 안녕하세요...미니님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포인트가 회수 됩니다.또한 구독 취소 시 알림까지 오게 됩니다.
    구동 영상은 아래를 참조 하시길 바랍니다.고맙습니다.

     
    • 8aeab0b19d4b1811f22d6c81d1d65c2c_1739843201_043.png
    • 12
    • 26일 전
      2025.02.14
  • 26일 전
  • 게시글 목록 인기순/추천순/날짜순 정렬 기능 추가 하기
  • 안녕하세요...미니님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- 모바일에서 셀렉트 박스가 비정상적으로 보이던 오류 수정 *상단 스타일 부분만 수정 되었습니다.*
    • 7bfe84788c985ae7490a451d1dc453de_1739767767_4299.png

검색

게시물 검색
구매 신청
  • 신용카드 결제는 별도상담을 통해 가능합니다.
    구매문의 : cs@false9.co.kr / 010-6466-3355
    신청 이후 담당자가 개별연락 드리고 있습니다.
    입금자명과 실제 입금자가 동일한 경우 자동처리 됩니다.
  • 결제예정 금액 : 0 (VAT별도)
    하나은행(KOEXKRSE) : 258-910104-00407 / 김은정(인덱스)

  •  
  • 신청 및 FCM 가이드
      안드로이드 웹앱 및 푸시알림을 사용하기위한 A-Z!
      잘 따라오시면 어렵지 않습니다.

      1. FCM (Firebase Cloud Messaging) 세팅하기

      1-1. 시작하기
      https://console.firebase.google.com?hl=ko 으로 접속하여 [시작하기] 를 클릭합니다. FCM은 구글계정이 있으면 무료로 사용 가능 합니다.




      1-2. 프로젝트 생성하기
      [프로젝트 시작하기] 를 클릭합니다.




      프로젝트의 이름을 설정합니다.
      앱이름(사이트명, 상호명)을 영문으로 입력하는것이 가장 좋습니다.
      입력하셨다면 [계속] 을 클릭해주세요.




      애널리틱스 사용설정을 활성화 해주시고(선택사항)
      [계속] 을 클릭해주세요.




      애널리틱스 위치를 [대한민국] 또는 거주국가를 선택하시고 약관 동의 후 [프로젝트 만들기] 를 클릭해주세요.




      프로젝트 생성이 완료 되었습니다. [계속] 을 클릭하시면 FCM메인페이지로 이동 합니다.




      1-3. 앱 생성하기
      이전 단계에서 프로젝트를 생성했습니다.
      이제 프로젝트안에 안드로이드 앱을 생성해보겠습니다.

      FCM 메인 중앙에 주황색 동그란 버튼이 3개 있습니다.
      가운데에 있는 (안드로이드 로고) 버튼을 클릭해주세요.




      버튼을 클릭하셨다면 앱등록 창이 오픈 됩니다.
      안드로이드 패키지 이름 및 앱 닉네임을 입력하세요.

      패키지 이름은 반드시 com.webview.앱영문명 으로 입력하셔야 합니다.
      com.webview. 를 반드시 넣어주셔야 합니다.
      입력 예) com.webview.rebuilder

      앱 닉네임은 사이트명이나 상호명, 앱이름 등을 입력해주시면 됩니다.
      디버그 서명은 입력하지 않아도 됩니다.

      입력을 마치셨다면 [앱등록] 을 클릭해주세요.
      다음페이지로 넘어간다면, 입력하신 패키지명 (com.webview.앱영문명) 을 메모장에 메모해주세요.





      [google-services.json 다운로드] 버튼을 클릭하셔서 파일을 다운받아 주세요.
      다운을 받으셨다면 [다음] 을 클릭해주세요.




      Groovy(build.gradle) 선택하신 후 [다음] 을 클릭해주세요.




      앱 생성이 완료 되었습니다.
      [콘솔로 이동] 을 클릭하시면 메인으로 이동 됩니다.




      1-4. 비공개 키파일 생성하기
      거의 다왔습니다. 조금만 더 힘내세요.
      저도 이거 작성하느라 무쟈게 힘들었습니다. 리빌더화이팅.

      화면 상단에 아까 입력하신 이름으로 앱이 생성된게 보이신다면,
      좌측 상단에 [프로젝트 개요] 메뉴 옆에 톱니바퀴 아이콘을 클릭하여
      [프로젝트 설정] 으로 이동해주세요.




      프로젝트 설정으로 오셨다면 상단 탭메뉴에서 [서비스 계정] 을 클릭하세요.





      화면 아래쪽에 있는 [새 비공개 키 생성] 을 클릭하세요.

      키파일은 버튼 클릭시 자동으로 다운로드 됩니다.
      중요한 파일이므로 파일을 타인에게 공개하거나 해서는 안됩니다.





      친절하게 중요한 파일임을 알려줍니다.
      [키 생성] 을 클릭하면 json 파일이 다운로드 됩니다.




      다운로드된 파일은 rebuilder-demo-a4cc0-firebase-adminsdk-au83h-41e4b5df03.json 과 같은식으로 저장됩니다.
      이름이 너무 긴 관계로 임의파일명으로 변경해주세요.
      가이드에서는 key.json 으로 설명하겠습니다.

      이제 준비는 모두 끝났습니다!
      바탕화면에 1-3에서 다운로드 했던 google-services.json 파일과,
      방금 이름을 변경했던 key.json 파일이 있다면 잘 하셨습니다. (파일아이콘은 무시해주세요. 다를 수 있습니다.)




      2. 리빌더 앱관리 설정하기

      2-1. 파일 업로드하기
      위 단계에서 이름을 변경했던 key.json 파일을 사용하시는 웹서버(웹호스팅)에 FTP 프로그램으로 접속하여 업로드 해주세요.
      업로드 위치는 /data/push/key.json 입니다.

      2-2. 앱관리 설정하기
      관리자모드 > 빌더설정 > 앱관리 메뉴로 이동해주세요.
      [앱관리] 메뉴가 없다면 리빌더 공식홈페이지 > 부가기능 다운로드 에서 [안드로이드 하이브리드 웹앱 + Push 알림] 기능을 다운로드 후 설치해주세요.
      바로가기 > https://rebuilder.co.kr/membership/30

      설치가 되셨다면 관리자모드 > 빌더설정 > 앱관리 메뉴로 이동해주세요.

      스크롤을 내리시면 [FCM 설정] 섹션이 있습니다.
      FCM 패키지명, FCM 프로젝트 ID, FCM 비공개키파일 항목을 모두 입력 하시고
      [확인] 을 클릭해주시면 설정은 마무리 됩니다.




      [FCM 패키지명]
      1-3 에서 설정했던 com.webview.앱영문명 을 입력하시면 됩니다.

      [FCM 프로젝트 ID]
      1-4 에서 이동했던 [프로젝트 설정] 페이지로 이동하시면 내 프로젝트 섹션에서 확인하실 수 있습니다. (스샷참조)

      [FCM 비공개키파일]
      위에서 임의파일명으로 변경했던 파일명 key.json 을 입력하시면 됩니다.




      고생하셨습니다. 모든 설정이 완료 되었습니다.
      1-3 에서 다운로드 했던 google-services.json 파일은
      신청서에 첨부해주셔야 합니다.


      창을 닫아주시고, 신청을 계속해주세요!