유저 자료실

2024.11.01 10:42

수정) 추천해요 버튼 -> 좋아요 (하트) 버튼으로 이미지 전환 효과

11/2 수정 

수정합니다ㅠㅠ 좋아요 기록저장 시키는 부분을 놓쳤네요
놓친김에 제가 조금 더 업데이트? 해서 

좋아요 버튼누를때 문구도 위에 나오게 했네요
gif 파일에 올렸는데 문구가 거추장스러우면 없애시면 됩니당 


아래 추가한 good.php 파일을 
\bbs 폴더에 넣어 덮으시면됩니다. (원본 백업은필수)
아래 넣는 소스도 수정했습니다.

-------------------------------------------------------------------


당근처럼
게시판에 있는 추천해요 버튼을  

하트로 만드는 소스입니다.


e7c1c00c8ad5247e4a4ed4aee1399e47_1730478697_1449.gif



원하시는 게시판에서
theme\rb.basic\skin\board
안에 있는 게시판중 

view.skin.php



 <!-- 추천 비추천 시작 { --> <?php if ( $good_href || $nogood_href) { ?> <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.'&amp;'.$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.'&amp;'.$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> <?php } else { if($board['bo_use_good'] || $board['bo_use_nogood']) { ?> <div id="bo_v_act"> <?php if($board['bo_use_good']) { ?> <span class="bo_v_act_gng"> <a href="<?php if(!$is_member) { ?>javascript:alert('로그인 후 이용하실 수 있습니다.');<?php } else { ?>javascript:void(0);<?php } ?>" 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($board['bo_use_nogood']) { ?> <span class="bo_v_act_gng"> <a href="<?php if(!$is_member) { ?>javascript:alert('로그인 후 이용하실 수 있습니다.');<?php } else { ?>javascript:void(0);<?php } ?>" 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> <?php } } ?> <!-- } 추천 비추천 끝 -->

해당 위소스를 이걸로 바꿔주시면되세요
css도 그냥 한곳에 다 넣었습니다
 

   
<!-- 좋아요 및 비추천 버튼 -->
<div id="bo_v_act">
    <?php
    // 이미 좋아요를 눌렀는지 확인
    $is_liked = sql_fetch("SELECT COUNT(*) AS cnt FROM {$g5['board_good_table']}
                           WHERE bo_table = '{$bo_table}'
                           AND wr_id = '{$wr_id}'
                           AND mb_id = '{$member['mb_id']}'
                           AND bg_flag = 'good'")['cnt'] > 0;
    ?>
   
    <span class="bo_v_act_gng">
        <a href="javascript:void(0);" id="good_button" class="bo_v_good" style="position: relative;">
            <!-- 좋아요 알림 메시지 -->
            <div id="like_alert" class="like-alert">좋아요 감사합니다 ♡ </div>
            <span id="good_icon" class="heart-icon <?php echo $is_liked ? 'filled' : ''; ?>">
                <?php echo $is_liked ? "&#9829;" : "&#9825;"; ?>
            </span>
            <span id="good_count"><?php echo number_format($view['wr_good']); ?></span>
        </a>
        <b id="bo_v_act_good" class="font-R"></b>
    </span>
</div>
<!-- Like Button -->
<script>
// Like Button
$(document).ready(function() {
    $("#good_button").click(function() {
        // 로그인 여부 확인
        if (!<?php echo json_encode($is_member); ?>) {
            alert("로그인 후 이용하실 수 있습니다.");
            return;
        }

        $.post("good.php", {
            bo_table: "<?php echo $bo_table; ?>",
            wr_id: "<?php echo $wr_id; ?>",
            good: "good",
            js: "on"
        }, function(data) {
            var result = JSON.parse(data);
            if (result.error) {
                alert(result.error);
            } else {
                var goodIcon = $("#good_icon");
                var goodCount = $("#good_count");

                if (goodIcon.hasClass("filled")) {
                    goodIcon.removeClass("filled").html("&#9825;"); // 빈 하트
                    goodCount.text(parseInt(goodCount.text()) - 1);
                } else {
                    goodIcon.addClass("filled").html("&#9829;"); // 채워진 하트
                    goodCount.text(parseInt(goodCount.text()) + 1);

                    // 좋아요 알림 메시지 표시
                    $("#like_alert").fadeIn(300).delay(1500).fadeOut(300);
                }
            }
        });
    });
});

</script>

<style>
.heart-icon {
    color: gray;
    font-size: 20px;
    transition: color 0.3s ease;
}
.heart-icon.filled {
    color: pink;
}

/* 좋아요 알림 메시지 스타일 */
.like-alert {
    position: absolute;
    bottom: 100%; /* 하트 버튼 위에 표시 */
    left: 50%;
    transform: translate(-50%, -10px); /* 중앙 정렬과 약간 위쪽 여백 */
    background-color: pink;
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
    font-weight: bold;
    font-size: 14px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    z-index: 10;
    display: none;
    white-space: nowrap; /* 텍스트가 한 줄로 유지되도록 설정 */
}

</style>

  • 공유링크 복사
    미니홈 쪽지 구독하기
    구독하고 알림받기
  • 이전글cheditor52024.11.03
  • 다음글(241030 수정) 사이드 메뉴 위젯2024.10.27
  • 댓글목록

    profile_image
    Song미니홈 1:1 대화하기  오래 전

    오오옹 감사합니다!

    2024-11-01 10:54

    profile_image
    no_profile 잼잼미니홈 1:1 대화하기  오래 전

    네 감사합니다 다시 수정했습니다 ~!
    사용 하실거면 해당 소스를 이용하심됩니당

    2024-11-02 01:38

    profile_image
    미키손미니홈 1:1 대화하기  오래 전

    당근 좋아요^^

    2024-11-01 11:04

    profile_image
    no_profile 잼잼미니홈 1:1 대화하기  오래 전

    네 감사합니다 다시 수정했습니다 ~!
    사용 하실거면 해당 소스를 이용하심됩니당

    2024-11-02 01:38

    profile_image
    no_profile 우루사100mg미니홈 1:1 대화하기  오래 전

    감사합니다. 잘 사용하겠습니다.^^

    2024-11-01 14:50

    profile_image
    no_profile 잼잼미니홈 1:1 대화하기  오래 전

    네 감사합니다 다시 수정했습니다 ~!
    사용 하실거면 해당 소스를 이용하심됩니당

    2024-11-02 01:38

    profile_image
    리빌더미니홈 1:1 대화하기  오래 전

    멋지네요 공개 감사합니다.

    2024-11-01 15:46

    profile_image
    no_profile 잼잼미니홈 1:1 대화하기  오래 전

    네 감사합니다 다시 수정했습니다 ~!

    2024-11-02 01:37

    profile_image
    아가싱즈미니홈 1:1 대화하기  오래 전

    최고십니다. ~^^

    2024-11-02 02:45

    profile_image
    no_profile 타임프렌즈미니홈 1:1 대화하기  오래 전

    와우 좋은데요?

    2024-11-04 19:05

    profile_image
    codesos미니홈 1:1 대화하기  오래 전

    멋지네요!

    2024-11-05 15:31