예제 #1
0
 /**
  * Render address
  *
  * @param Mage_Customer_Model_Address_Abstract $address
  * @return string
  */
 public function render(Mage_Customer_Model_Address_Abstract $address, $format = null)
 {
     $address->getRegion();
     $address->getCountry();
     $address->explodeStreetAddress();
     $formater = new Varien_Filter_Template();
     $data = $address->getData();
     if ($this->getType()->getHtmlEscape()) {
         foreach ($data as $key => $value) {
             if (is_object($value)) {
                 unset($data[$key]);
             } else {
                 $data[$key] = $this->htmlEscape($value);
             }
         }
     }
     /**
      * Remove data that mustn't show
      */
     if (!$this->helper('customer/address')->canShowConfig('prefix_show')) {
         unset($data['prefix']);
     }
     if (!$this->helper('customer/address')->canShowConfig('middlename_show')) {
         unset($data['middlename']);
     }
     if (!$this->helper('customer/address')->canShowConfig('suffix_show')) {
         unset($data['suffix']);
     }
     $formater->setVariables(array_merge($data, array('country' => $address->getCountryModel()->getName())));
     $format = !is_null($format) ? $format : $this->getFormat($address);
     return $formater->filter($format);
 }
예제 #2
0
 /**
  * Render address
  *
  * @param Mage_Customer_Model_Address_Abstract $address
  * @return string
  */
 public function render(Mage_Customer_Model_Address_Abstract $address)
 {
     $format = $this->getType()->getDefaultFormat();
     $countryFormat = $address->getCountryModel()->getFormat($this->getType()->getCode());
     $address->getRegion();
     $address->getCountry();
     $address->explodeStreetAddress();
     if ($countryFormat) {
         $format = $countryFormat->getFormat();
     }
     $formater = new Varien_Filter_Template();
     $formater->setVariables(array_merge($address->getData(), array('country' => $address->getCountryModel()->getName())));
     return $formater->filter($format);
 }
 /**
  * Render address
  *
  * @param Mage_Customer_Model_Address_Abstract $address
  * @return string
  */
 public function render(Mage_Customer_Model_Address_Abstract $address, $format = null)
 {
     $address->getRegion();
     $address->getCountry();
     $address->explodeStreetAddress();
     $formater = new Varien_Filter_Template();
     $data = $address->getData();
     if ($this->getType()->getHtmlEscape()) {
         foreach ($data as $key => $value) {
             $data[$key] = $this->htmlEscape($value);
         }
     }
     $formater->setVariables(array_merge($data, array('country' => $address->getCountryModel()->getName())));
     $format = !is_null($format) ? $format : $this->getFormat($address);
     return $formater->filter($format);
 }
예제 #4
0
 /**
  * Render address
  *
  * @param Mage_Customer_Model_Address_Abstract $address
  * @return string
  */
 public function render(Mage_Customer_Model_Address_Abstract $address, $format = null)
 {
     switch ($this->getType()->getCode()) {
         case 'html':
             $dataFormat = Mage_Customer_Model_Attribute_Data::OUTPUT_FORMAT_HTML;
             break;
         case 'pdf':
             $dataFormat = Mage_Customer_Model_Attribute_Data::OUTPUT_FORMAT_PDF;
             break;
         case 'oneline':
             $dataFormat = Mage_Customer_Model_Attribute_Data::OUTPUT_FORMAT_ONELINE;
             break;
         default:
             $dataFormat = Mage_Customer_Model_Attribute_Data::OUTPUT_FORMAT_TEXT;
             break;
     }
     $formater = new Varien_Filter_Template();
     $attributes = Mage::helper('customer/address')->getAttributes();
     $data = array();
     foreach ($attributes as $attribute) {
         /* @var $attribute Mage_Customer_Model_Attribute */
         if (!$attribute->getIsVisible()) {
             continue;
         }
         if ($attribute->getAttributeCode() == 'country_id') {
             $data['country'] = $address->getCountryModel()->getName();
         } else {
             if ($attribute->getAttributeCode() == 'region') {
                 $data['region'] = Mage::helper('directory')->__($address->getRegion());
             } else {
                 $dataModel = Mage_Customer_Model_Attribute_Data::factory($attribute, $address);
                 $value = $dataModel->outputValue($dataFormat);
                 if ($attribute->getFrontendInput() == 'multiline') {
                     $values = $dataModel->outputValue(Mage_Customer_Model_Attribute_Data::OUTPUT_FORMAT_ARRAY);
                     // explode lines
                     foreach ($values as $k => $v) {
                         $key = sprintf('%s%d', $attribute->getAttributeCode(), $k + 1);
                         $data[$key] = $v;
                     }
                 }
                 $data[$attribute->getAttributeCode()] = $value;
             }
         }
     }
     if ($this->getType()->getHtmlEscape()) {
         foreach ($data as $key => $value) {
             $data[$key] = $this->escapeHtml($value);
         }
     }
     $formater->setVariables($data);
     $format = !is_null($format) ? $format : $this->getFormat($address);
     return $formater->filter($format);
 }
 /**
  * @param Mage_Customer_Model_Address_Abstract $address
  * @return array
  */
 protected function _getAddressData(Mage_Customer_Model_Address_Abstract $address)
 {
     $data = array();
     if ($address) {
         $data['name'] = $address->getName();
         $data['address'] = $address->getStreetFull();
         $data['city'] = $address->getCity();
         $data['postcode'] = $address->getPostcode();
         $data['country'] = $address->getCountry();
         $data['state'] = $address->getRegion() ? $address->getRegion() : '';
     }
     return $data;
 }
 /**
  * If the country for the Address is US then get the 2 character ISO region code;
  * otherwise, for any other country get the fully qualified region name.
  *
  * @param  Mage_Customer_Model_Address_Abstract
  * @return string
  */
 protected function getRegion(Mage_Customer_Model_Address_Abstract $address)
 {
     return $address->getCountry() === 'US' ? $address->getRegionCode() : $address->getRegion();
 }
예제 #7
0
 /**
  * Create OCL Address record
  *
  * @param Mage_Customer_Model_Address_Abstract|Mage_Sales_Model_Order_Address $address
  * @param string|null                          $billingEntityId
  * @return array
  */
 public function createAddress($address, $tags = null)
 {
     $region = $address->getRegion();
     $data = array('street1' => (string) $address->getStreet1(), 'street2' => (string) $address->getStreet2(), 'street3' => (string) $address->getStreet3(), 'street4' => (string) $address->getStreet4(), 'city' => (string) $address->getCity(), 'county' => null, 'stateOrProvince' => empty($region) ? null : $region, 'postalCode' => (string) $address->getPostcode(), 'country' => (string) Mage::getModel('directory/country')->loadByCode($address->getCountryId())->getIso3Code(), 'tags' => $tags);
     return $data;
 }