마켓플레이스 모듈, 상품보기 시 휴대폰 번호 미노출 문제

2022년 01월 06일

1. _read.html  contact_number 클래스 참조  

<a href="javascript:getSellerContact('{$oMarketItem->document_srl}','.contact_number');" class="red"><span class="mp-text-get-phone-number mp-hidetext">판매자 연락처 보기</span></a>

<div class="contact_number">
   <img class="callout" src="images/callout.gif" />
   <strong>전화번호 :</strong> <span class="response"></span>
</div>


getSellerContact 함수를 살펴보면,


2. modules\marketplace\tpl\js\marketplace.js

function getSellerContact(document_srl, selector) {
   if (!jQuery(selector).is(':visible') )
   {
      jQuery.exec_json(
         "marketplace.getMarketplaceContactNumber",
         {document_srl:document_srl }, 
         function(data)
         {
            jQuery(selector).find('.response').text(data.mobile);
            jQuery(selector).show();
            console.log(data.mobile);
         }
      );
   }
   else jQuery(selector).hide();
}

marketplace.getMarketplaceContactNumber 함수를 다시..

3. /www/modules/marketplace/marketplace.model.php

function getMarketplaceContactNumber()
 {
  $oDocumentModel = getModel('document');
  $document_srl = Context::get('document_srl');
  $output = $oDocumentModel->getDocument($document_srl, false, false);
  if(!$document_srl) return false;

  $member_srl = $output->getMemberSrl();
  $oMemberModel = getModel('member');
  $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
  if(!$member_info) return false;

  //$contact_number = implode('-',$member_info->{$this->module_info->contact_number_field});
    //$contact_number = $member_info->phone_number;
    $contact_number = (implode('-',$member_info->hp));
//    var_dump($member_info);
  $this->add('mobile',$contact_number);
 }

기존에는 module_info->contact_number_field를 참조하는데 이 부분이 모듈에서 동작하지 않는 상황입니다.

더 파기는 그래서 그냥 model.php 파일을 수정해줬습니다.

고객들마다 관리자 > 회원설정 > 전화번호 혹은 휴대전화 필드를 phone_number 혹은 hp 등으로 저장하시기 때문에

이 부분은 사용하시는 필드명에 맞게 고쳐주시면 됩니다.