그누보드 리빌더 주간 인기 게시물을 추출하여 웹진 형식으로 보여 주고 싶어요

그누보드 리빌더 주간 인기 게시물을 추출하여 웹진 형식으로 보여 주고 싶어요

QA

그누보드 리빌더 주간 인기 게시물을 추출하여 웹진 형식으로 보여 주고 싶어요

사용하는 빌더

리빌더

본문



<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>주간 인기 게시물</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 20px;
            background-color: #f9f9f9;
        }
        .webzine_board {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 20px;
            padding: 20px;
            max-width: 1200px;
            margin: auto;
        }
        .webzine_item {
            border: 1px solid #ddd;
            border-radius: 10px;
            overflow: hidden;
            background: #fff;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease-in-out;
        }
        .webzine_item:hover {
            transform: translateY(-5px);
        }
        .webzine_item img {
            width: 100%;
            height: 200px;
            object-fit: cover;
        }
        .webzine_content {
            padding: 15px;
        }
        .webzine_content h3 {
            font-size: 18px;
            margin: 0 0 10px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .webzine_content p {
            font-size: 14px;
            color: #666;
            height: 50px;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .webzine_content a {
            display: inline-block;
            margin-top: 10px;
            font-size: 14px;
            color: #007bff;
            text-decoration: none;
        }
        .webzine_content a:hover {
            text-decoration: underline;
        }
    </style>
</head>
<body>
    <div class="bbs_main">
        <h2 class="font-B">주간 인기 게시물</h2>
        <div class="webzine_board">
            <?php
            // 주간 인기 게시물 가져오기
            $popular_posts = rb_latest_popular('basic', 10, 99, 7, 0);
            if ($popular_posts) {
                foreach ($popular_posts as $post) {
                    $img_src = !empty($post['img']) ? $post['img'] : 'default.jpg'; // 기본 이미지 처리
                    $title = htmlspecialchars($post['wr_subject']); // 제목
                    $content = mb_substr(strip_tags($post['wr_content']), 0, 100, 'UTF-8') . '...'; // 본문 요약
                    $url = $post['wr_link']; // 게시물 URL
                    ?>
                    <div class="webzine_item">
                        <a href="<?php echo $url; ?>">
                            <img src="<?php echo $img_src; ?>" alt="<?php echo $title; ?>">
                        </a>
                        <div class="webzine_content">
                            <h3><a href="<?php echo $url; ?>"><?php echo $title; ?></a></h3>
                            <p><?php echo $content; ?></p>
                            <a href="<?php echo $url; ?>">더보기 →</a>
                        </div>
                    </div>
                    <?php
                }
            } else {
                echo '<p>인기 게시물이 없습니다.</p>';
            }
            ?>
        </div>
    </div>
</body>
</html>


위 소스는 그누보드 리빌더 주간 인기 게시물을 추출하여 웹진 게시판 형식으로 보여 주려고 작성한 코드 입니다. 그러나 작동을 안하네요. 뭐가 문제 일까요?

이 질문에 댓글 쓰기 :

답변 4

rb_latest_popular 함수 내부 구현과 인자, 데이터베이스, 캐시,

그리고 기본 이미지 경로를 꼼꼼히 검증/수정하여 게시물 db가 정상 반환되도록 해보세요.

 

우선, rb_latest_popular 함수가 호출되는 lib/popular.lib.php 등

관련 라이브러리 파일에서 함수의 정의와 전달 인자가 올바른지 점검.

데이터베이스 연결 상태와 SQL 쿼리가 정상적으로 실행되어

결과 배열에 'img', 'wr_subject', 'wr_content', 'wr_link' 등이 제대로 채워지는지 디버깅하고,

만약 특정 항목이 비었다면 기본 이미지 경로 및 관련 설정도 재검토해야~.

또한, 캐시 기능이 사용되고 있다면 캐시 파일의 생성 및 갱신 상태도 확인하여,

데이터가 최신 상태로 반영되는지 점검하고, 최종적으로 수정 사항을 적용한 후

디버깅 로그와 에러 메시지를 봐가며 점진적 해결을 하셔야 할 것입니다.

 

※ 붙임 ※

사용 중이신 리빌더 내, 주간 인기 게시물 데이터를 반환하는 함수는

"님의 템플릿"에서 사용 중인, rb_latest_popular() 대신

popular_latest() 함수를 사용하는지 확인하여 보세요..

 

수정할 주요 부분은 rb_latest_popular() 함수 호출 부분입니다.

프로젝트 구조 내에서 이 함수는 존재하지 않고,

인기 게시물 데이터를 반환하는 대체 함수인 popular_latest() 함수가 사용되고 있다면,

해당 호출부를 popular_latest()로 변경해야 합니다.

<?php $popular_posts = rb_latest_popular('basic', 10, 99, 7, 0); ?>


<?php $popular_posts = popular_latest('basic', 10, 99, 7, 0); ?>

 

※ 요악하자면~
제시하신 템플릿이 정상적으로 구현되려면

rb_latest_popular() 함수가 주간 인기 게시물을 올바르게 조회하여

필요한 데이터를 배열로 반환해야 하는데, 만약 해당 함수가 존재하지 않거나

기능이 원하는 대로 동작하지 않는다면, 이를 커스텀하여 구현하거나

대체 함수(popular_latest())를 새로 작성하셔야 할 겁니다.

다시 말해>>> 기존 프로젝트에 rb_latest_popular() 함수가 없다면,

제시하신 템플릿이 기대하는 기능 —즉, 주간 인기 게시물을 조회하여

'img', 'wr_subject', 'wr_content', 'wr_link' 등의 데이터를 포함하는 배열을 반환하는 기능—을

수행하도록 해당 함수를 직접 커스텀 구현하셔야 합니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 274 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT