示例#1
0
 /**
  * Get field value
  *
  * @param string               $fieldName    Field name
  * @param \XLite\Model\Address $address      Field name
  * @param boolean              $processValue Process value flag OPTIONAL
  *
  * @return string
  */
 public function getFieldValue($fieldName, \XLite\Model\Address $address, $processValue = false)
 {
     $result = '';
     if (null !== $address) {
         $methodName = 'get' . \XLite\Core\Converter::getInstance()->convertToCamelCase($fieldName);
         // $methodName assembled from 'get' + camelized $fieldName
         $result = $address->{$methodName}();
         if ($result && false !== $processValue) {
             switch ($fieldName) {
                 case 'state_id':
                     $result = $address->getCountry()->hasStates() ? $address->getState()->getState() : null;
                     break;
                 case 'custom_state':
                     $result = $address->getCountry()->hasStates() ? null : $result;
                     break;
                 case 'country_code':
                     $result = $address->getCountry()->getCountry();
                     break;
                 case 'type':
                     $result = $address->getTypeName();
                     break;
                 default:
             }
         }
     }
     return $result;
 }
 /**
  * {@inheritDoc}
  */
 public function getState()
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'getState', array());
     return parent::getState();
 }
示例#3
0
 /**
  * Prepare the specific data format for address
  *
  * @param \XLite\Model\Address $address Address
  *
  * @return array
  */
 public static function prepareAddressData($address)
 {
     return $address ? array('address' => $address->getStreet(), 'city' => $address->getCity(), 'state' => $address->getState()->getStateId(), 'custom_state' => $address->getCustomState(), 'zipcode' => $address->getZipcode(), 'country' => $address->getCountry() ? $address->getCountry()->getCode() : '', 'type' => $address->getType() ?: \XLite\Core\Config::getInstance()->Shipping->anonymous_address_type) : null;
 }