/** * 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); }
/** * 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); }
/** * 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(); }
/** * 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; }