2017-02-02 3 views
1

기본적으로 프로그래밍 방식으로 고객을 가져 오려고합니다. 여기 내 코드가있다.Magento에서 프로그래밍 방식으로 개별 배송 주소를 추가하는 방법은 무엇입니까?

<?php 
    error_reporting(E_ALL | E_STRICT); 
    ini_set('display_errors', 1); 
    require 'app/Mage.php'; 
    require_once 'Zend/Crypt/Hmac.php'; 
    Mage::app('default'); 

    $websiteId = Mage::app()->getWebsite()->getId(); 
    $store = Mage::app()->getStore(); 

    $customer = Mage::getModel("customer/customer"); 
    $customer->setWebsiteId($websiteId); 
    $customer->setStore($store); 
    $customer->setFirstname('fst'); 
    $customer->setLastname('lst'); 
    $customer->setEmail('[email protected]'); 
    $customer->setPassword('somepassword'); 

    $customer->save(); 
    echo $customer->getId(); 

    $address = Mage::getModel("customer/address"); 
    $address->setCustomerId($customer->getId()); 
    $address->setFirstname($customer->getFirstname()); 
    $address->setLastname($customer->getLastname()); 
    $address->setCountryId('US'); 
    $address->setPostcode('31000'); 
    $address->setCity('Osijek'); 
    $address->setTelephone('0038511223344'); 
    $address->setFax('0038511223355'); 
    $address->setCompany('Inchoo'); 
    $address->setStreet('Kersov'); 
    $address->setIsDefaultBilling('1'); 
    $address->setIsDefaultShipping(false); 
    $address->setSaveInAddressBook('1'); 

    $address->save(); 

하지만 청구서 수신 주소 만 생성합니다. 주소를 한 개 더 추가하고 배송지로 설정하고 싶습니다.

답변

1

거의 완료했습니다. 고객/주소 모델을 다시로드하고 다시 저장하십시오.하지만 이번에는 $address->setIsDefaultBilling(false);$address->setIsDefaultShipping('1');으로 설정하십시오.

는 마 젠토 1.9

<?php 
    require_once 'app/Mage.php'; 
    Mage::app(); 

     $websiteId = Mage::app()->getWebsite()->getId(); 
     $store = Mage::app()->getStore(); 

     $customer = Mage::getModel("customer/customer"); 
     $customer->setWebsiteId($websiteId); 
     $customer->setStore($store); 
     $customer->setFirstname('fst'); 
     $customer->setLastname('lst'); 
     $customer->setEmail('[email protected]'); 
     $customer->setPassword('somepassword'); 

     $customer->save(); 
     echo $customer->getId(); 

     $address = Mage::getModel("customer/address"); 
     $address->setCustomerId($customer->getId()); 
     $address->setFirstname($customer->getFirstname()); 
     $address->setLastname($customer->getLastname()); 
     $address->setCountryId('US'); 
     $address->setPostcode('31000'); 
     $address->setCity('Osijek'); 
     $address->setTelephone('0038511223344'); 
     $address->setFax('0038511223355'); 
     $address->setCompany('Inchoo'); 
     $address->setStreet('Kersov'); 
     $address->setIsDefaultBilling('1'); 
     $address->setIsDefaultShipping(false); 
     $address->setSaveInAddressBook('1'); 

     $address->save(); 

     $address = Mage::getModel("customer/address"); 
     $address->setCustomerId($customer->getId()); 
     $address->setFirstname($customer->getFirstname()); 
     $address->setLastname($customer->getLastname()); 
     $address->setCountryId('US'); 
     $address->setPostcode('31000'); 
     $address->setCity('Osijek'); 
     $address->setTelephone('0038511223344'); 
     $address->setFax('0038511223355'); 
     $address->setCompany('Inchoo'); 
     $address->setStreet('Kersov'); 
     $address->setIsDefaultBilling(false); 
     $address->setIsDefaultShipping('1'); 
     $address->setSaveInAddressBook('1'); 

     $address->save(); 

     die("check it!"); 
+0

감사를 테스트. 완벽하게 작동합니다. –