로그인
회원가입
빌런들
회시 발런
게임 빌런
일상생활 속 빌런
메신저 빌런
학교 빌런
중고거래 빌런
연예&셀럽
배우
가수
방송인
인플루언서
미디어허브
미디어
동영상
갤러리
알림마당
IT/전자기기
대한민국 정책브리핑
핫딜
|
|
|
고객센터
공지사항
버그/제안
질문/답변
사이트 활용팁
자유게시판
마켓
노트북/데스크
모니터/복합기
PC부품
부품별 A/S 가이드
게임별 추천 사양
추천 컴퓨터 견적
노트북 견적상담
PC 견적상담
다운로드
문서 양식 다운로드
웹솔루션 스토어
자영업자 마케팅
자동화 프로그램
유틸리티 박스
운영체제/PC진단/벤치마크
원하는 소프트웨어 제안
새글
최근 30일 이내 등록된 새글 이에요.
전체
글
댓글
ㅇㄹ
ㅁㄴㅇㄹㅁㅇㄴㄹㅁㅇㄴㄹㅁㄴㅇㄹㅁㅇㄴㄹㅁㅇㄴㄹABCDEFGABCDEFG
관리자 2025-06-07
IT/전자기기
ㄴㅁㅇㄹㄴㅇㅁㄹ
관리자 2025-06-07
IT/전자기기
게시판 혁신! 최신 Quill 에디터 & 실시간 이미지 업로드 솔루션
주요 기능 소개: 더 이상 복잡하고 불편한 글쓰기 환경은 그만! 그누보드/영카트 게시판에 최신 웹 표준 에디터인 Quill을 적용하여, 사용자들이 더욱 쉽고 편리하게 게시물을 작성하고 이미지를 첨부할 수 있도록 혁신적인 글쓰기 경험을 제공합니다. 1. 현대적인 Quill 웹 에디터 적용 세련된 UI/UX: 기존 에디터보다 훨씬 깔끔하고 직관적인 인터페이스를 제공하여, 사용자들이 게시물 작성에만 집중할 수 있는 최적의 환경을 구축합니다. 빠른 로딩 및 안정성: 경량화된 구조로 페이지 로딩 속도를 저해하지 않으며, 안정적인 성능으로 어떠한 환경에서도 끊김 없는 글쓰기가 가능합니다. 반응형 디자인 지원: 다양한 기기(PC, 태블릿, 모바일)에서도 최적화된 글쓰기 화면을 제공하여 사용자 편의성을 극대화합니다. 2. 실시간 비동기(AJAX) 이미지 업로드 페이지 새로고침 없는 첨부: 에디터 내에서 이미지를 삽입할 때 페이지 새로고침 없이 실시간으로 이미지가 업로드되어 즉시 본문에 삽입됩니다. 사용자 흐름을 방해하지 않는 매끄러운 경험을 제공합니다. 강력한 파일 유효성 검사: 허용된 이미지 파일 형식(JPG, PNG, GIF, WEBP 등) 및 크기 제한을 철저히 검사하여 안정적인 업로드 환경을 보장합니다. 체계적인 파일 관리: 업로드된 이미지는 그누보드 `data/editor/` 경로 아래 날짜별(YYYYMMDD) 폴더에 자동으로 저장되어 관리자가 파일을 쉽게 찾아 관리할 수 있습니다. 안전한 파일명 처리: 파일명 중복 및 보안 문제를 최소화하기 위해 업로드 시 고유한 파일명으로 자동 변경됩니다. 3. 스마트한 에디터 연동 및 관리 자동 저장 기능 연동: 작성 중인 게시물 내용이 주기적으로 자동 저장되어 예기치 않은 상황에도 소중한 내용을 잃지 않도록 돕습니다. (quill.editor.js 파일 분석 결과 기반) 쉬운 툴바 설정: 필요에 따라 툴바 사용 여부, 입력창 크기 조절, 모드 탭(에디터/HTML/TEXT) 사용 여부 등 다양한 에디터 옵션을 쉽게 설정할 수 있습니다. (config.js 파일 분석 결과 기반) 게시물 뷰페이지 완벽 호환: Quill 에디터로 작성된 게시물 내용이 뷰페이지에서 원본 그대로의 형태로 완벽하게 표시됩니다. CSS 및 JS 최적화를 통해 뷰페이지 로딩에 영향을 주지 않습니다. 이 솔루션을 사용해야 하는 이유 1) 사용자 경험 극대화: 편리하고 직관적인 에디터 환경은 사용자들의 게시물 작성 부담을 줄여주고, 웹사이트에 대한 만족도를 높입니다. 2) 웹사이트의 현대화: 최신 웹 표준 에디터를 도입하여 그누보드/영카트 게시판의 전반적인 디자인과 기능을 현대적인 수준으로 끌어올릴 수 있습니다. 3) 운영 효율성 증대: 안정적인 이미지 업로드 및 체계적인 파일 관리 시스템은 웹사이트 관리자의 운영 부담을 줄여줍니다. 4) 시간과 비용 절약: 복잡한 에디터 연동 및 이미지 업로드 기능을 직접 개발할 필요 없이, 검증된 솔루션으로 시간과 개발 비용을 획기적으로 절감할 수 있습니다. 가격 및 판매 전략 이 솔루션은 단순히 그누보드의 기본 에디터를 교체하는 것을 넘어, **Quill 에디터의 완벽한 통합, AJAX 기반의 실시간 이미지 업로드, 그리고 체계적인 파일 관리 기능까지** 포함된 프리미엄 웹 에디터 모듈입니다. 모든 기능은 사용자 편의성과 안정성을 최우선으로 고려하여 세심하게 구현되었습니다. 복잡한 웹 에디터 연동, 비동기 파일 업로드 로직, 그리고 기존 시스템과의 충돌 방지 등 개발 과정에서 발생할 수 있는 수많은 기술적 난관을 해결한 완성도 높은 솔루션입니다. 이는 고객님이 직접 개발하는 데 드는 시간, 노력, 그리고 시행착오 비용을 훨씬 뛰어넘는 가치를 제공합니다. 1) 독보적인 기능 완성도: Quill 에디터 연동, 실시간 이미지 업로드, 파일 관리, 자동 저장, 그리고 완벽한 뷰페이지 출력까지 모든 핵심 기능이 통합되어 있습니다. 2) 시장 내 차별화된 경쟁력: 그누보드/영카트 환경에서 이처럼 완성도 높은 최신 웹 에디터 솔루션은 흔치 않습니다. 이는 충분히 프리미엄 가치를 가집니다. 3) 개발 시간과 비용 절감 효과: 직접 구현 시 발생할 수 있는 막대한 시간과 비용을 획기적으로 절감해드립니다. 추천 판매 가격: 90,000원 ~ 180,000원 (단순 에디터 교체를 넘어, 글쓰기 경험과 관리 효율성을 대폭 개선하는 솔루션의 가치를 고려한 가격입니다. 초기 런칭 기념으로 7만원대부터 판매를 시작하여 시장 반응을 본 후, 점차 가격을 상향 조정하는 전략도 고려해 볼 수 있습니다. 지속적인 기능 지원, 업데이트 및 호환성 유지를 포함합니다.) 추가 팁 1) 실제 데모 페이지 제공: Quill 에디터의 깔끔한 UI와 이미지 업로드 기능을 직접 체험해볼 수 있는 데모 페이지를 제공하여 구매 결정에 큰 도움이 되도록 해주세요. 2) 상세하고 명확한 설치 및 사용 가이드: 초보자도 쉽게 설치하고 적용할 수 있도록 자세한 설명서(README.md 또는 PDF 문서)를 함께 제공해주세요. 각 파일의 역할, 수정 포인트 등을 명확히 설명하는 것이 중요합니다. 3) 지속적인 지원 및 업데이트 계획 명시: 판매 후 버그 수정, 그누보드/영카트 및 Quill 에디터 버전 업데이트에 따른 호환성 유지 등 지속적인 지원 계획을 명시하면 구매자들의 신뢰도를 크게 높일 수 있습니다. 지금 바로 여러분의 그누보드/영카트 게시판 글쓰기 경험을 한 단계 업그레이드하세요! 구매 문의는 [연락처 또는 구매 페이지 링크] 를 통해 언제든지 환영합니다.
관리자 2025-06-07
웹솔루션 스토어
ㅇㄹㅇㄹ
ㅇㄹㅇㄹ
관리자 2025-06-07
방송인
ㅇㄹㅇㄹ
ㅇㄹㅇㄹㅇㄹ
관리자 2025-06-07
방송인
ㅇㄹ
관리자 2025-06-07
배우
ㅁㅇㄴㄹㅁㄴㅇㄹㅇㅁㄴㄹ
ㅇㄹㄴㅇㄹㄴㅇㄴㅇㄹㅁㄴㅇㄹ
관리자 2025-06-07
배우
ㅍ
ㄹㅇㄹ
관리자 2025-06-07
배우
ㅁㅁㅁ
ㅁㅁㅁ
관리자 2025-06-07
방송인
dfdf
ddfdf
관리자 2025-06-07
방송인
dfdf
dfdf
관리자 2025-06-07
방송인
Quill Editor 에디터
에디터 웹폰트 추가 폰트 크기 추가 동영상 크기 개선
관리자 2025-06-07
버그/제안
사이트맵, 구글 뉴스 등록용
사이트맵, 구글 뉴스 등록용
관리자 2025-06-07
웹솔루션 스토어
게시판 필수 기능! 댓글 추천/비추천, 첨부파일, 스마트 관리, 자동 알림 통합 솔루션
주요 기능 소개: 페이지 새로고침 없는 실시간 댓글 반응(추천/비추천), 이미지/파일 첨부, 긴 댓글 자동 요약, 그리고 내 글/댓글에 대한 자동 알림까지! 그누보드/영카트 게시판의 활성도를 최상으로 끌어올리고 사용자 만족도를 극대화할 수 있는 올인원 댓글 솔루션입니다. 1. 강력한 댓글 추천/비추천 기능 실시간 비동기(AJAX) 업데이트: 사용자가 댓글 추천 또는 비추천 버튼을 클릭하면, 페이지 새로고침 없이 해당 댓글의 추천/비추천 숫자가 즉시 변경됩니다. 압도적인 사용자 경험을 제공하여 게시판의 활성도를 높입니다. 안정적인 중복 방지 시스템: 1) IP 기반 중복 체크: 동일한 IP 주소에서 여러 번 추천/비추천하는 것을 방지하여 데이터의 신뢰성을 높입니다. 2) 본인 댓글 추천/비추천 제한: 자신의 댓글에 스스로 추천/비추천을 하는 것을 방지하여 어뷰징을 막습니다. 3) 버튼 UI 상태 관리: 클릭 시 버튼이 일시적으로 비활성화되어 중복 클릭을 방지하고, 처리 완료 후에는 버튼 상태를 영구적으로 변경하여 사용자가 이미 추천/비추천했음을 직관적으로 알 수 있도록 합니다. 자동 DB 칼럼 생성: 설치 시 그누보드 게시판 테이블에 필요한 cmt_good, cmt_nogood 칼럼을 자동으로 생성하여 수동 작업의 번거로움을 없애줍니다. 명확한 에러 처리: 잘못된 요청이나 중복 추천/비추천 시 사용자에게 적절한 경고 메시지를 제공합니다. 2. 프리미엄 댓글 첨부파일 기능 AJAX 기반 파일/이미지 업로드: 댓글 작성 시 파일을 첨부해도 페이지가 새로고침 되지 않아 편리합니다. 실시간 업로드 진행률 표시: 파일 업로드 중 진행 바를 통해 업로드 상태를 직관적으로 확인할 수 있습니다. 첨부파일 미리보기 및 삭제: 업로드된 이미지 파일은 미리보기가 가능하며, 잘못 첨부된 파일은 쉽게 삭제할 수 있습니다. 안정적인 파일 유효성 검사: 허용된 확장자 및 파일 크기 제한을 통해 안정적인 파일 첨부 환경을 제공합니다. 다중 파일 첨부 지원: 여러 개의 파일을 동시에 첨부할 수 있으며, 이미지의 경우 갤러리/슬라이더 형태로 깔끔하게 표시되어 정보 전달력을 높입니다. 3. 스마트한 댓글 목록 관리 기능 긴 댓글 자세히보기/접기: 댓글 내용이 일정 길이 이상일 경우 자동으로 "자세히보기" 버튼을 생성하여 화면을 깔끔하게 유지합니다. 클릭 시 전체 내용을 펼쳐볼 수 있습니다. 초기 3개 댓글만 표시 & "더보기" 기능: 댓글이 많을 경우 페이지 로드 시 처음 3개의 댓글만 보여주고, "댓글 더보기" 버튼을 통해 나머지 댓글들을 불러올 수 있도록 하여 페이지 로딩 속도를 향상시키고 시각적인 부담을 줄입니다. 4. 자동 알림/메모 기능 (커뮤니티 활성화의 핵심!) 내 게시글 새 댓글 알림: 내가 작성한 게시글에 새로운 댓글이 달리면, 원글 작성자에게 자동으로 쪽지(메모)를 발송하여 빠른 확인을 돕습니다. 내 댓글 새 답글 알림: 내가 작성한 댓글에 새로운 답글이 달리면, 해당 댓글 작성자에게 자동으로 쪽지(메모)를 발송하여 활발한 소통을 유도합니다. 이 기능을 사용해야 하는 이유 1) 압도적인 사용자 경험 제공: 페이지 새로고침 없는 부드러운 인터랙션, 편리한 첨부파일 기능, 깔끔한 댓글 UI로 사용자 만족도를 최상으로 끌어올립니다. 2) 높은 사용자 참여 유도: 실시간 반응 시스템과 자동 알림 기능은 사용자들이 댓글에 더 적극적으로 참여하고 소통하게 만드는 강력한 동기 부여가 됩니다. 3) 운영 및 관리 효율성 극대화: 자동 DB 칼럼 생성, 강력한 어뷰징 방지, 그리고 자동 알림 기능으로 관리자의 수동 개입을 최소화하고 운영 부담을 획기적으로 줄여줍니다. 4) 시간과 비용 절약: 복잡한 기능을 직접 개발할 필요 없이, 즉시 적용 가능한 완성도 높은 솔루션으로 개발 시간과 비용을 획기적으로 절약할 수 있습니다. 가격 및 판매 전략 이 솔루션은 단순히 댓글 추천/비추천을 넘어, **파일 첨부, 스마트 댓글 목록 관리, 그리고 게시판 활성화의 핵심인 자동 쪽지(메모) 알림 기능까지** 포함된 그누보드/영카트 최적화 프리미엄 댓글 솔루션입니다. 모든 기능은 복잡한 로직과 안정성을 고려하여 세심하게 구현되었습니다. 개발 과정에서 발생할 수 있는 수많은 오류 처리, 중복 방지 로직, 그리고 복잡한 JavaScript, PHP, CSS 연동까지 고려하여 완성도를 높였습니다. 이는 고객님이 직접 개발하는 데 드는 시간, 노력, 그리고 시행착오 비용을 훨씬 뛰어넘는 가치를 제공합니다. 1) 독보적인 기능 완성도: 추천/비추천, DB 자동 생성, IP/본인 제한, UI 상태 관리, 댓글 UI 개선, **파일 첨부(다중, 미리보기, 삭제, 진행률), 그리고 자동 알림(쪽지)**까지. 이 모든 기능이 통합되어 원활하게 작동하는 솔루션은 찾아보기 어렵습니다. 2) 그누보드/영카트 시장 내 차별화된 경쟁력: 기본적인 기능은 많지만, 이처럼 통합적이고 완성도 높은 프리미엄 댓글 관리 기능은 시장 내에서 희소성을 가집니다. 3) 개발 시간과 비용 절감 효과: 이 모든 기능을 직접 구현하려면 상당한 개발 시간과 디버깅 노력이 필요합니다. 이 솔루션은 이러한 노력과 비용을 대폭 절감해드립니다. 추천 판매 가격: 120,000원 ~ 200,000원 (단순 기능 스킨을 넘어, 게시판 핵심 기능을 강화하는 솔루션의 가치를 고려한 가격입니다. 초기 런칭 기념으로 9만원대부터 판매를 시작하여 시장 반응을 본 후, 점차 가격을 상향 조정하는 전략도 고려해 볼 수 있습니다. 지속적인 기능 지원, 업데이트 및 호환성 유지를 포함합니다.) 추가 팁 1) 실제 데모 페이지 제공: 실제 작동하는 데모 페이지를 제공하여 구매자들이 기능을 직접 체험해볼 수 있도록 하면 구매 결정에 매우 큰 도움이 됩니다. 이는 필수적입니다. 2) 상세하고 명확한 설치 및 사용 가이드: 초보자도 쉽게 설치하고 적용할 수 있도록 자세한 설명서(README.md 또는 PDF 문서)를 함께 제공해주세요. 각 파일의 역할, 수정 포인트 등을 명확히 설명하는 것이 좋습니다. 3) 지속적인 지원 및 업데이트 계획 명시: 판매 후 버그 수정, 그누보드/영카트 버전 업데이트에 따른 호환성 유지 등 지속적인 지원 및 기능 개선 계획을 명시하면 구매자들의 신뢰도를 크게 높일 수 있습니다. 지금 바로 여러분의 게시판을 차원이 다른 수준으로 업그레이드하고, 가장 활발한 소통의 장으로 만들어보세요! 구매 문의는 [연락처 또는 구매 페이지 링크] 를 통해 언제든지 환영합니다.
관리자 2025-06-07
웹솔루션 스토어
댓글 추천/비추천
01. 새로운 파일 ajax.comment_good_nogood.php 생성 그누보드 bbs 디렉토리 안에 ajax.comment_good_nogood.php 파일을 생성하고 아래 내용을 넣어주세요. 이 파일은 댓글 추천/비추천 요청을 처리하고 데이터베이스를 업데이트하는 역할을 합니다. <?php include_once('./_common.php'); if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 $comment_id = isset($_POST['comment_id']) ? (int)$_POST['comment_id'] : 0; $action = isset($_POST['action']) ? clean_xss_tags($_POST['action']) : ''; $bo_table = isset($_POST['bo_table']) ? clean_xss_tags($_POST['bo_table']) : ''; $wr_id = isset($_POST['wr_id']) ? (int)$_POST['wr_id'] : 0; // 게시글 ID if (!$comment_id || !$action || !$bo_table || !$wr_id) { die(json_encode(['error' => '잘못된 요청입니다.'])); } // 게시판 설정 정보 가져오기 (권한 체크에 필요) $board = get_board_info($bo_table); if (!$board) { die(json_encode(['error' => '게시판 정보가 없습니다.'])); } // 본문 추천/비추천 권한과 동일하게 적용 // bo_use_good_nogood은 보통 비회원도 추천/비추천이 가능한지 여부를 설정하는 변수입니다. if ($board['bo_use_good_nogood'] && !$member['mb_id']) { // 게시판 설정에서 비회원 추천/비추천을 허용하지 않으면 (즉, 회원만 가능하면) die(json_encode(['error' => '회원만 추천/비추천이 가능합니다.'])); } // IP 중복 체크 (게시글 추천/비추천과 동일하게 적용) // 이 부분은 게시판 설정의 'IP당 추천/비추천수'에 따라 다르게 동작할 수 있습니다. // 현재는 1회만 가능하도록 세션에 저장합니다. $ip = $_SERVER['REMOTE_ADDR']; $ss_name = 'ss_comment_'.$action.'_'.$comment_id; if (get_session($ss_name) == $ip) { die(json_encode(['error' => '이미 ' . ($action == 'good' ? '추천' : '비추천') . '하셨습니다.'])); } // 댓글 정보 가져오기 (cmt_good, cmt_nogood 칼럼 사용) $sql_comment = " SELECT cmt_good, cmt_nogood FROM {$g5['write_prefix']}{$bo_table} WHERE wr_id = '{$comment_id}' "; $comment_row = sql_fetch($sql_comment); if (!$comment_row) { die(json_encode(['error' => '댓글을 찾을 수 없습니다.'])); } $update_field = ''; if ($action === 'good') { $update_field = 'cmt_good'; $current_count = $comment_row['cmt_good']; } elseif ($action === 'nogood') { $update_field = 'cmt_nogood'; $current_count = $comment_row['cmt_nogood']; } else { die(json_encode(['error' => '유효하지 않은 액션입니다.'])); } // 데이터 업데이트 (cmt_good, cmt_nogood 칼럼 사용) $sql_update = " UPDATE {$g5['write_prefix']}{$bo_table} SET {$update_field} = {$update_field} + 1 WHERE wr_id = '{$comment_id}' "; sql_query($sql_update); // 세션에 IP 저장 (중복 추천/비추천 방지) set_session($ss_name, $ip); // 업데이트된 값 다시 가져오기 $new_comment_row = sql_fetch(" SELECT cmt_good, cmt_nogood FROM {$g5['write_prefix']}{$bo_table} WHERE wr_id = '{$comment_id}' "); echo json_encode([ 'success' => true, 'cmt_good_count' => $new_comment_row['cmt_good'], // 변경된 칼럼명에 맞게 'cmt_nogood_count' => $new_comment_row['cmt_nogood'] // 변경된 칼럼명에 맞게 ]); ?> 02. _common.php 파일 확인 (필요시 추가) _common.php 파일에 clean_xss_tags 함수가 포함되어 있는지 확인하세요. 일반적으로 그누보드에는 이 함수가 있지만, 혹시 없다면 아래 코드를 추가해야 합니다. // _common.php 또는 적절한 유틸리티 파일에 추가 if (!function_exists('clean_xss_tags')) { function clean_xss_tags($str) { $str = preg_replace('#</*(?:applet|b(?:ase|gsound)|xss:base|xss:bgsound|b(?:link|ody)|embed|frame(?:set)?|i(?:frame|layer)|l(?:ayer|ink)|meta|object|s(?:cript|tyle)|xml)[^>]*>#is', '', $str); $str = preg_replace('#<([^>]*)(onabort|onactivate|onafterprint|onafterupdate|onbeforeactivate|onbeforecopy|onbeforecut|onbeforedeactivate|onbeforeeditfocus|onbeforepaste|onbeforeprint|onbeforeunload|onbeforeupdate|onblur|onbounce|oncellchange|onchange|onclick|oncontextmenu|oncontrolselect|oncopy|oncut|ondataavailable|ondatasetchanged|ondatasetcomplete|ondblclick|ondeactivate|ondrag|ondragend|ondragenter|ondragleave|ondragover|ondragstart|ondrop|onerror|onerrorupdate|onfilterchange|onfinish|onfocus|onfocusin|onfocusout|onhelp|onkeydown|onkeypress|onkeyup|onlayoutcomplete|onload|onlosecapture|onmousedown|onmouseenter|onmouseleave|onmousemove|onmouseout|onmouseover|onmouseup|onmousewheel|onmove|onmoveend|onmovestart|onpaste|onpropertychange|onreadystatechange|onreset|onresize|onresizeend|onresizestart|onrowenter|onrowexit|onrowsdelete|onrowsinserted|onscroll|onselect|onselectionchange|onselectstart|onstart|onstop|onsubmit|onunload)([ \r\n\t]*)=([ \r\n\t]*)("|\'|"|')([^\5]*)\5([^>]*?)>#is', '<$1$6>', $str); return $str; } } 03. CSS 추가 (style.css 또는 적절한 CSS 파일) 추천/비추천 버튼의 스타일을 위해 style.css 파일 (보통 board_skin_url에 있는)에 아래 CSS를 추가해주세요. /* 댓글 추천/비추천 버튼 */ .cmt_good_btn, .cmt_nogood_btn { display: inline-flex; align-items: center; cursor: pointer; margin-left: 10px; font-size: 13px; /* 폰트 크기 조절 */ color: #666; transition: color 0.2s ease; } .cmt_good_btn:hover, .cmt_nogood_btn:hover { color: #007bff; /* 호버 시 색상 변경 */ } .cmt_good_btn svg, .cmt_nogood_btn svg { margin-right: 3px; vertical-align: middle; } .cmt_good_btn .good_count, .cmt_nogood_btn .nogood_count { font-weight: bold; } .cmt_good_btn.disabled, .cmt_nogood_btn.disabled { cursor: not-allowed; opacity: 0.6; } 04. view_comment.skin.php 파일 수정 ① 파일 상단에 SQL 칼럼 추가 로직 삽입 사용자님의 view_comment.skin.php 파일에 아래 내용을 추가 및 수정합니다. view_comment.skin.php 파일의 가장 상단에 있는 <?php 태그 바로 아래에 다음 코드를 추가합니다. <?php if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 // --- [시작] 댓글 추천/비추천 칼럼 존재 여부 확인 및 추가 --- if (isset($bo_table) && $bo_table) { $write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블명 (댓글 테이블도 동일하게 사용) // cmt_good 칼럼 확인 및 추가 $sql_check_cmt_good = "SHOW COLUMNS FROM `{$write_table}` LIKE 'cmt_good'"; $row_cmt_good = sql_fetch($sql_check_cmt_good); if (!$row_cmt_good) { // 기존 wr_good 칼럼 뒤에 추가하는 것이 자연스러움. 만약 wr_good이 없다면 wr_hit 뒤에. // 여기서는 wr_hit 뒤에 추가하는 것으로 가정합니다. $sql_add_cmt_good = "ALTER TABLE `{$write_table}` ADD `cmt_good` INT(11) NOT NULL DEFAULT '0' AFTER `wr_hit`"; sql_query($sql_add_cmt_good, false); } // cmt_nogood 칼럼 확인 및 추가 $sql_check_cmt_nogood = "SHOW COLUMNS FROM `{$write_table}` LIKE 'cmt_nogood'"; $row_cmt_nogood = sql_fetch($sql_check_cmt_nogood); if (!$row_nogood) { // $row_nogood 대신 $row_cmt_nogood를 확인해야 합니다. // cmt_good 칼럼 뒤에 추가 $sql_add_cmt_nogood = "ALTER TABLE `{$write_table}` ADD `cmt_nogood` INT(11) NOT NULL DEFAULT '0' AFTER `cmt_good`"; sql_query($sql_add_cmt_nogood, false); } } // --- [끝] 댓글 추천/비추천 칼럼 존재 여부 확인 및 추가 --- ?> ② 댓글 작성일자 옆에 추천/비추천 버튼 삽입 view_comment.skin.php 파일에서 div class="gall_date" 부분을 찾습니다. 이 부분은 대략 40~50번째 줄에 있을 것입니다. <p class="p_times" style="margin-bottom:10px;"><span><?php echo date('Y-m-d H:i', strtotime($list[$i]['datetime'])) ?></span></p> 위 코드 바로 아래에 다음 HTML 코드를 추가합니다. <?php if ($list[$i]['mb_id'] != $member['mb_id'] || $member['mb_id'] == '') { // 본인 댓글이 아니거나 비회원일 경우에만 표시 (권한에 따라 조절) ?> <span class="cmt_good_btn" data-comment-id="<?php echo $comment_id; ?>" data-action="good"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-thumbs-up"><path d="M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"></path></svg> <span class="good_count"><?php echo $list[$i]['cmt_good']; // 변경된 칼럼명 ?></span> </span> <span class="cmt_nogood_btn" data-comment-id="<?php echo $comment_id; ?>" data-action="nogood"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-thumbs-down"><path d="M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zM17 2h3a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-3"></path></svg> <span class="nogood_count"><?php echo $list[$i]['cmt_nogood']; // 변경된 칼럼명 ?></span> </span> <?php } ?> <script> // --- [추가 시작] 댓글 추천/비추천 기능 --- $(document).on('click', '.cmt_good_btn, .cmt_nogood_btn', function() { const btn = $(this); const commentId = btn.data('comment-id'); const action = btn.data('action'); // 'good' 또는 'nogood' // 중복 클릭 방지 if (btn.hasClass('disabled')) { return false; } btn.addClass('disabled'); // 버튼 비활성화 $.ajax({ url: g5_bbs_url + '/ajax.comment_good_nogood.php', // 이 파일을 새로 생성해야 합니다. type: 'POST', data: { comment_id: commentId, action: action, bo_table: '<?php echo $bo_table; ?>', // 게시판 테이블명 wr_id: '<?php echo $wr_id; ?>' // 게시글 ID }, dataType: 'json', success: function(data) { if (data.error) { alert(data.error); } else { if (action === 'good') { btn.find('.good_count').text(data.cmt_good_count); } else if (action === 'nogood') { btn.find('.nogood_count').text(data.cmt_nogood_count); } } }, error: function(xhr, status, error) { console.error("AJAX Error:", status, error); alert('요청 처리 중 오류가 발생했습니다.'); }, complete: function() { btn.removeClass('disabled'); // 버튼 다시 활성화 } }); }); // --- [추가 끝] 댓글 추천/비추천 기능 --- </script>
관리자 2025-06-06
사이트 활용팁
열린
1
페이지
2
페이지
3
페이지
4
페이지
5
페이지
6
페이지
7
페이지
8
페이지
9
페이지
맨끝
Guest
로그인
회원가입
빌런들
회시 발런
게임 빌런
일상생활 속 빌런
메신저 빌런
학교 빌런
중고거래 빌런
연예&셀럽
배우
가수
방송인
인플루언서
미디어허브
미디어
동영상
갤러리
알림마당
IT/전자기기
대한민국 정책브리핑
핫딜
|
|
|
고객센터
공지사항
버그/제안
질문/답변
사이트 활용팁
자유게시판
마켓
노트북/데스크
모니터/복합기
PC부품
부품별 A/S 가이드
게임별 추천 사양
추천 컴퓨터 견적
노트북 견적상담
PC 견적상담
다운로드
문서 양식 다운로드
웹솔루션 스토어
자영업자 마케팅
자동화 프로그램
유틸리티 박스
운영체제/PC진단/벤치마크
원하는 소프트웨어 제안