本文整理汇总了PHP中Mage_Sales_Model_Quote_Address::getRegionId方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Quote_Address::getRegionId方法的具体用法?PHP Mage_Sales_Model_Quote_Address::getRegionId怎么用?PHP Mage_Sales_Model_Quote_Address::getRegionId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Quote_Address
的用法示例。
在下文中一共展示了Mage_Sales_Model_Quote_Address::getRegionId方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: validateAddress
/**
* Validate customer address
*
* @param Mage_Sales_Model_Quote_Address $address
* @return bool
*/
public function validateAddress(Mage_Sales_Model_Quote_Address $address)
{
$errors = array();
$helper = Mage::helper('customer');
$address->implodeStreetAddress();
if (!Zend_Validate::is($address->getFirstname(), 'NotEmpty')) {
$errors[] = $helper->__('Please enter the first name.');
}
/*
if (!Zend_Validate::is($address->getLastname(), 'NotEmpty')) {
$errors[] = $helper->__('Please enter the last name.');
}
*/
if (!Zend_Validate::is($address->getStreet(1), 'NotEmpty')) {
$errors[] = $helper->__('Please enter the street.');
}
if (!Zend_Validate::is($address->getCity(), 'NotEmpty')) {
$errors[] = $helper->__('Please enter the city.');
}
if (!Zend_Validate::is($address->getTelephone(), 'NotEmpty')) {
$errors[] = $helper->__('Please enter the telephone number.');
}
/*
$_havingOptionalZip = Mage::helper('directory')->getCountriesWithOptionalZip();
if (!in_array($address->getCountryId(), $_havingOptionalZip) && !Zend_Validate::is($address->getPostcode(), 'NotEmpty')) {
$errors[] = $helper->__('Please enter the zip/postal code.');
}
*/
if (!Zend_Validate::is($address->getCountryId(), 'NotEmpty')) {
$errors[] = $helper->__('Please enter the country.');
}
if ($address->getCountryModel()->getRegionCollection()->getSize() && !Zend_Validate::is($address->getRegionId(), 'NotEmpty')) {
$errors[] = $helper->__('Please enter the state/province.');
}
if (empty($errors) || $address->getShouldIgnoreValidation()) {
return true;
}
return $errors;
}
示例2: updateResource
/**
* Update the resource model
*
* @param Mage_Sales_Model_Quote_Address $resource
* @param array $data
*
* @return Mage_Sales_Model_Quote_Address
*/
public function updateResource(Mage_Sales_Model_Quote_Address $resource, array $data)
{
// Store current state
$actionType = $this->getActionType();
$operation = $this->getOperation();
// Change state
$this->setActionType(self::ACTION_TYPE_ENTITY);
$this->setOperation(self::OPERATION_UPDATE);
// Get a filter instance
$filter = $this->getFilter();
// Filter raw incoming data
$data = $filter->in($data);
// Check if the update is setting a customer address ID to use
if (array_key_exists('customer_address_id', $data) && $data['customer_address_id']) {
/** @var Mage_Customer_Model_Address $customerAddress */
$customerAddress = Mage::getModel('customer/address')->load($data['customer_address_id']);
if ($customerAddress->getId()) {
if ($customerAddress->getCustomerId() != $resource->getQuote()->getCustomerId()) {
$this->_critical(Mage::helper('checkout')->__('Customer Address is not valid.'), Mage_Api2_Model_Server::HTTP_BAD_REQUEST);
}
$resource->importCustomerAddress($customerAddress);
$resource->setSaveInAddressBook(0);
}
} else {
// Fix region/country data
$data = $this->getHelper()->fixAddressData($data, $resource->getCountryId(), $resource->getRegionId());
// Get allowed attributes
$allowedAttributes = $filter->getAllowedAttributes(Mage_Api2_Model_Resource::OPERATION_ATTRIBUTE_WRITE);
// Update model
$this->saveResourceAttributes($resource, array_merge($allowedAttributes, ['region_id']), $data);
}
// Update the shipping address if it is meant to match the billing address
if ($resource->getQuote()->getShippingAddress()->getSameAsBilling()) {
$shippingAddress = $resource->getQuote()->getShippingAddress();
$shippingAddress->importCustomerAddress($resource->exportCustomerAddress());
$shippingAddress->setSameAsBilling(1);
}
// Validate address
$addressErrors = $this->getHelper()->validateQuoteAddress($resource);
if (!empty($addressErrors)) {
$resource->setData('validation_errors', $addressErrors);
}
// Fire event - after
$data = new Varien_Object($data);
Mage::dispatchEvent('aoe_cartapi_billingaddress_update_after', ['data' => $data, 'filter' => $filter, 'resource' => $resource]);
// Restore old state
$this->setActionType($actionType);
$this->setOperation($operation);
// Return updated resource
return $resource;
}
示例3: _getFilterRegion
/**
* Get region filter
*
* @param Mage_Sales_Model_Quote_Address $address
* @param int $storeId
*
* @return string|bool
*/
protected function _getFilterRegion($address, $storeId)
{
$filter = false;
$regionFilters = explode(',', $this->_getConfigData()->getRegionFilterList($storeId));
$entityId = $address->getRegionId() ?: $address->getCountryId();
if (!in_array($entityId, $regionFilters)) {
$filter = 'region';
}
return $filter;
}
示例4: addressToOrderAddress
/**
* Convert quote address to order address
*
* @param Mage_Sales_Model_Quote_Address $address
* @return Mage_Sales_Model_Order_Address
*/
public function addressToOrderAddress(Mage_Sales_Model_Quote_Address $address)
{
$orderAddress = Mage::getModel('sales/order_address')->setStoreId($address->getStoreId())->setAddressType($address->getAddressType())->setCustomerId($address->getCustomerId())->setCustomerAddressId($address->getCustomerAddressId())->setFirstname($address->getFirstname())->setLastname($address->getLastname())->setCompany($address->getCompany())->setStreet($address->getStreet(-1))->setCity($address->getCity())->setRegion($address->getRegion())->setRegionId($address->getRegionId())->setPostcode($address->getPostcode())->setCountryId($address->getCountryId())->setTelephone($address->getTelephone())->setFax($address->getFax());
return $orderAddress;
}