uvula6921 of CREMA Publishing Team
2/27/2018 - 9:10 AM

panda 스킨의 상품 상세 페이지에 리뷰 수 작업

panda의 스킨에서는 상품 상세 페이지에서 특이한 방식으로 리뷰 수를 표시하고 있음. (PC)

// _sp 폴더가 있으면 아래의 파일을 찾아서 기존 소스는 주석처리하고 아래의 코드를 추가 (대략 60번째줄 근처)
// 모든 작업은 똑같고, 위에 있는 base.js에 있는 두번째 코드 대신 이것을 쓰면 됨
// _sp/apps/layout/product/product-1/product.js

$('.sp-detail-tabs ul li a[href="#prdReview"]').append('<span class="crema-product-reviews-count" data-product-code="'+ $.sp_getNum(_crema_num) +'" data-hide-if-zero="1"></span>');
$('#prdReview .sp-detail-navigation > ul > li[data-target="#prdReview"]').addClass('active');
// 파일: /_panda/script/base.js -->

// 아래 코드를 950번째 라인 근처에 추가
var _crema_num = $$('#-crema-detail-prd-no').val();

// 아래 코드를 "카운트에 이용하자" 라는 주석 근처에 추가
$$('[move="prdReview"]').append('<p fix class="-mos"><span class="crema-product-reviews-count" data-product-code="' + _crema_num + '"></span></p>');
 $$('.-quicklink').append('<a move="prdReview" class="-btn -black -xs crema-product-reviews-count" data-product-code="' + _crema_num + '" data-format="후기 {{{count}}}" data-hide-if-zero="1"></a>');
// product/detail.html 과 같은 위치에 detail_reviews_count.js 파일을 생성하여 아래 소스 복붙

function UpdateReviewsCountAndScore() {
  // typeof 로 검사하는 이유는 공통 스크립트가 로딩되었는지 확인하기 위함.
  // 어떠한 이유로 인해 불러지지 않은 상태에서 crema.run() 이 실행되면 자바스크립트 오류 발생함.
  if (typeof crema == "object" && typeof crema.run == "function") {
    crema.run();
  }
}

window.cremaOnLoad = function() {
  setTimeout(function() {
    UpdateReviewsCountAndScore();
  }, 500);
};
<!-- 파일: /product/detail.html -->

<!-- cre.ma / 리뷰 수 재계산 / 스크립트를 수정할 경우 연락주세요 (support@cre.ma) -->
<!--@js(/product/detail_reviews_count.js)-->
<!-- 파일: /product/_inc/product_detail_hint.html -->

<input id="-crema-detail-prd-no" desc="상품번호" type="text" value="{$product_no}">