새글

    최근 180일 이내 등록된 새글 이에요.
  • 여기 대메뉴에 이모지를 넣고싶은데 물음표로 나오는데 어떻데하면 이모지가 나올수있을가요?
    팡야 2025-03-11 자유 게시판
  • Uploaded Image
  • 배너위젯입니다기존배너생성이랑 방법은 똑같고요아래사진처럼pc는 1줄에3개씩 4줄로나오며모바일을 1줄에 2개씩 2줄로 나옵니다해당 배너그룹에 배너가 3개밖에 없으면 3개만출력되고 모바일이든 pc든 나머지는 배너광고문의라고 뜨고    } else { // 배너가 부족한 경우 "배너 광고 문의" 출력 (카카오톡 오픈채팅 링크 적용)        echo '<a href="https://open.kakao.com/o/sqavTZih" target="_blank">                <div class="bn_placeholder">배너 광고 문의</div>              </a>';    } 이부분 빨간색부분을 해당링크로 바꿔주면됩니다
    팡야 2025-03-04 유저 자료실
  • rb.wide_slide로 만든 슬라이드배너+퀵메뉴 입니다필요하시다면 사용하세요!!
    팡야 2025-03-04 유저 자료실
  • 게시판 뷰페이지 들어가보면 사진이 먼저 위로 올라오는데글이 먼저 위에 나오게 하기    <!-- 본문 내용 시작 { -->    <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";    }?>이렇게 바꿔주시면 반대로됩니다
    팡야 2025-03-02 팁과노하우
  • TinyMCE 1.2.0 을 적용하고 업그레이드 표시를 없애고 첨부사진처럼 사용중인데 이렇게 사용해도될가요? 라이센스 위반되거나해서 나중에 사용못하는건 아니겟죠?
    팡야 2025-03-02 질문과 답변
  • 스마트에디터2 모바일에서 글작성시 본문클릭하면자판이 나타나면서 위로 튀어올라가는것때문에 글쓰기가 불편합니다위에툴바도 안보여서 툴바클릭후다시 본문 클릭해도 위로 또이동해야하고본문에 사진첨부하려해도 위로 또 이동해야하고 불편함때문에 저는 본문 클릭해도 키보드나타나면서 위로 튀어올라가는거 없앴는데사용하실분 사용하세요 
    팡야 2025-03-02 유저 자료실
  • 웹뷰사용시 새로고침버튼이 없어서 새로고침하려면 불편하더라고요네이버카페어플이나 기타 어플 같은경우 아래로 스크롤 하면 새로고침이 되는데그방법입니다 저는 할줄 몰라서 돈주고 배웠습니다 고수님들은 금방하시겠지만저처럼 초보자들에게 필요할까 해서 공유합니다적용하고싶은 페이지에 아래내용 넣어주시면 됩니다   <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> 
    팡야 2025-03-01 팁과노하우
  • 아래사진처럼 최신글을 불러오게해놨는데 나중에 글 많아지면메인화면이 나오는데 느릴까요?느려진다면 해결방법이 있을가요?
    팡야 2025-03-01 질문과 답변
  • 부가기능 게시판에 찾아봐도 통합게시판이 안보이네요 
    팡야 2025-03-01 질문과 답변
  • 메인화면에 글쓰기 버튼 추가해서 누르면 나의 레벨에서 글쓸수 있는 게시판 목록이 나타나고 목록에서게시판을 선택하여 해당글쓰기로 이동하는 방법입니다여기서 글쓰기버튼을 클릭하면?이렇게 우측에 나의 레벨에서 작성할수 있는 게시판이 나열됩니다여기서 작성하고 싶은 게시판을 선택하면? 해당 게시판의 글쓰기로 이동이 됩니다<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">&times;</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> 
    팡야 2025-02-28 팁과노하우
  • 19c45330452a68a43606da1be105b507_1740751257_7506.jpeg
  • 본인이 작성한글은 본인 또는 관리자한테만보이고 다른유저에게는 보이지 않습니다제가 필요해서 한건데 필요하신분 있으실까 해서 올려봤습니다본인이 작성한글이 없을때는 데이터가 없습니다라고 나오고 본인이 작성한글이 있을때는 작성한 게시글이 나옵니다 관리자 외 타인에게는 안보입니다
    팡야 2025-02-26 유저 자료실
  • 방법이 있을가요?
    팡야 2025-02-25 질문과 답변
  • 폼메일이나 1개1문의를 원하는 작성폼으로 게시판또는 폼메일 형식으로 나왔으면 좋겠습니다
    팡야 2025-02-21 개선/제안
  • 작성자 및 관리자 외 열람할 수 없습니다.
    비밀글 기능으로 보호된 글입니다.
    팡야 2025-02-20 질문과 답변
  • 지도로 거리순정보를 가져와야하는데 위치정보를 먼저 가져와야한다고 하는데 웹으로 하면 가져와지는데 어플에서는 안되네요
    팡야 2025-02-16 질문과 답변
구매 신청
  • 구매문의 : 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 파일은
      신청서에 첨부해주셔야 합니다.


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