예제 #1
0
파일: Sales.php 프로젝트: buttasg/cowgirlk
 /**
  * Fetches any related customer_group to the given cart object
  *
  * @param ShopgateCart $cart
  * @param int          $websiteId
  *
  * @return array
  */
 protected function _getCustomerGroups(ShopgateCart $cart, $websiteId)
 {
     /** @var Mage_Customer_Model_Customer $customer */
     $customer = Mage::getModel('customer/customer');
     $externalCustomerId = $cart->getExternalCustomerId();
     if ($externalCustomerId) {
         $customer->load($externalCustomerId);
     } else {
         if ($cart->getDeliveryAddress() && $cart->getDeliveryAddress()->getMail()) {
             $customer->setWebsiteId($websiteId)->loadByEmail($cart->getDeliveryAddress()->getMail());
         } else {
             if ($cart->getInvoiceAddress() && $cart->getInvoiceAddress()->getMail()) {
                 $customer->setWebsiteId($websiteId)->loadByEmail($cart->getInvoiceAddress()->getMail());
             }
         }
     }
     if (!$externalCustomerId && $customer->getId()) {
         $cart->setExternalCustomerId($customer->getId());
     }
     return Mage::helper('shopgate/customer')->getShopgateCustomerGroups($customer);
 }
예제 #2
0
 /**
  * add customer to cart e.g to validate customer related price rules
  *
  * @param ShopgateCart $cart
  */
 public function addCustomerToCart(&$cart)
 {
     if ($cart->getMail()) {
         /** @var Mage_Customer_Model_Customer $magentoCustomer */
         $magentoCustomer = Mage::getModel("customer/customer");
         $magentoCustomer->setWebsiteId(Mage::app()->getWebsite()->getid());
         $magentoCustomer->loadByEmail($cart->getMail());
         if ($magentoCustomer->getId()) {
             $cart->setExternalCustomerId($magentoCustomer->getId());
         }
     }
 }