2012-08-07 2 views
4

고객 계정 정보 섹션에 고객의 전화 번호가 표시되도록 노력하고 있습니다. 전화 번호가 고객 주소 섹션에 속해 있지만 고객 계정 정보가 어떻게 표시되는지 다시 설계하려고합니다.Magento : 고객 정보 필드에 고객의 전화 번호를 표시하는 방법

고객 ID에 대한 새로운 사용자 정의 필드를 추가했으며 고객 ID가 customer_entity에 속해 있으므로 다음 코드를 사용하여이를 표시 할 수 있습니다.

<?php echo $this->__('Identification:') ?><?php echo $this->htmlEscape($this->getCustomer()->getCustid()) ?> 

하지만 지금 나는이

<?php echo $this->__('Telephone:') ?><?php echo $this->htmlEscape($this->getCustomer()->getTelephone()) ?> 

를 사용하여 전화 번호에 대한 동일한 작업을 수행하기 위해 노력하고있어하지만 customer_address_entity에 속하기 때문에 그것은 어떤 데이터를 표시하지 않습니다 나는 그것이 있어야 믿습니다

->getAddress()->getTelephone() 

대신

->getCustomer()->getTelephone() 

하지만 -> getAddress를 사용하면 "객체가 아닌 객체에 getTelephone() 멤버 함수 호출"오류가 발생합니다.

아무에게도이를 알리는 방법이 있습니까? 참고로

, 나는 파일 고객 \ 계정 \ 대시 보드 미리 \ info.phtml

덕분에이 데이터 디스플레이를 가지고 노력하고있어.

+1

$ this-> getCustomer() -> getPrimaryBillingAddress() –

+0

감사합니다. 어떻게 작동하는지 알아 보았지만 청구서 수신 주소 정보를 모두 가져올 수는 없지만 정보 만 표시합니다 고객에게 청구서 수신 주소가 이미 저장되어있는 한 필자의 경우 모든 고객이 청구서 수신 주소를 필요로하지 않으므로 저에게 적합하지 않습니다. 말할 것도없이 나는 고객의 전화 번호를 주소에서 꺼내려고하는 것이지 모든 세부 사항을 다루는 것은 아닙니다. – BlueSun3k1

+0

getPrimaryBillingAddress를 당긴 후에 var_dump를 사용하여 객체를 덤프하십시오. 전화 정보가있는 필드를 찾아야합니다. 제한된 nonsene을 많이 사용한다면 getPrimary ...() -> getData()를 사용하면 원하는 속성을 얻을 수 있습니다. – Sturm

답변

12

아, 덕분에 내가 지금 게시합니다 ! (원래 게시물의 주석 참조).

$this->getCustomer()->getPrimaryBillingAddress()->getTelephone(); 

첫 번째 부분은 당신에게 당신이 다음 @paperids에 따라 var_dump()으로 탐구 할 수있는 모든 세부 사항을 제공합니다 :

은 간단히 다음과 같은 사용합니다.

+6

이 고객이 기본 청구서 수신 주소를 설정하지 않은 경우 오류를 반환합니다 (비회원의 멤버 기능 호출). – Luis

4

이 답변 @ 알렉스로 이동해야하지만 단지 완성을 위해, 나는 대답으로 이것을 게시하도록하겠습니다 :

사용 :

$this->getCustomer()->getPrimaryBillingAddress()->getTelephone() 
+0

고마워, 너 거기서 자고있어! 아래 답변으로 게시했습니다. –

1

Luis는 고객이 청구서 수신 주소를 설정하지 않았다면 대가로 오류가 표시됩니다. 비회원의 구성원 기능을 호출하십시오.

당신이 이러한 상황에 대한 준비를 할 경우 IF 문 다음에 코드를 넣을 수 있습니다 :이 getPrimaryBillingAddress 다음 설정 주소가 있다는

<?php if ($customerAddressId){ ?> 
    <?php $address=Mage::getModel('customer/address')->load($customerAddressId); ?> 
    <?php $this->getCustomer()->getPrimaryBillingAddress()->getTelephone(); 
} ?> 
0

주의 경우()가 아닌 객체를 돌려줍니다.

$address = $this->getCustomer()->getPrimaryBillingAddress(); 
if ($address) echo $address->getTelephone(); 
-1
isLoggedIn()) { $ 고객 = 마술사 :: getSingleton ('고객/세션') -> getCustomer(); $ customerName = $ customer-> getName(); // 다른 모든 속성에 액세스 할 수 있기를 바랍니다. } ?>
관련 문제