本文整理汇总了PHP中Mage_Sales_Model_Quote_Address::getCountryId方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Quote_Address::getCountryId方法的具体用法?PHP Mage_Sales_Model_Quote_Address::getCountryId怎么用?PHP Mage_Sales_Model_Quote_Address::getCountryId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Quote_Address
的用法示例。
在下文中一共展示了Mage_Sales_Model_Quote_Address::getCountryId方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: _injectItemData
/**
* Inject general item data into the order item payload.
*
* @return self
*/
protected function _injectItemData()
{
$this->_orderItem->setLineNumber($this->_item->getId())->setItemId($this->_item->getSku())->setQuantity((int) $this->_item->getQty())->setDescription($this->_item->getName())->setHtsCode($this->_taxHelper->getProductHtsCodeByCountry($this->_itemProduct, $this->_address->getCountryId()))->setManufacturingCountryCode($this->_itemProduct->getCountryOfManufacture());
return $this;
}
示例3: addShippingAddress
/**
* Add an address to a payload
*
* @param Mage_Sales_Model_Address_Abstract
* @param IShippingAddress
* @return self
*/
protected function addShippingAddress(Mage_Sales_Model_Quote_Address $shippingAddress, IShippingAddress $payload)
{
$payload->setShipToLines(implode('\\n', $shippingAddress->getStreet()));
$payload->setShipToCity($shippingAddress->getCity());
$payload->setShipToMainDivision($shippingAddress->getRegionCode());
$payload->setShipToCountryCode($shippingAddress->getCountryId());
$payload->setShipToPostalCode($shippingAddress->getPostcode());
return $this;
}
示例4: 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;
}
示例5: canApply
public static function canApply(Mage_Sales_Model_Quote_Address $address)
{
$helper = Mage::helper('dccharge');
// $deliveryType = Mage::getStoreConfig('dc_charge_extension/dccharge/delivery-type');
$countryFrom = Mage::getStoreConfig('shipping/origin/country_id') ? Mage::getStoreConfig('shipping/origin/country_id') : Mage::getStoreConfig('general/country/default');
if ($countryFrom && $address->getCountryId() != $countryFrom && $helper->canUseForCountry($address->getCountryId()) && $address->getShippingMethod() && $helper->canUseForShippingMethod($address->getShippingMethod())) {
return true;
}
return false;
}
开发者ID:Fishead-Communications,项目名称:dutycalculator_charge_import_duty,代码行数:10,代码来源:Importdutytaxes.php
示例6: validate
public function validate(Mage_Sales_Model_Quote_Address $address, $force = false)
{
// Address validation is currently only valid for US and CA addresses
if ($address->getCountryId() !== 'US' && $address->getCountryId() !== 'CA') {
return;
}
/** @var Aoe_AvaTax_Helper_Data $helper */
$helper = Mage::helper('Aoe_AvaTax/Data');
// If the module is not active for this address, exit early
if (!$helper->isAddressValidationActive($address->getQuote()->getStoreId())) {
return;
}
// If we are not forcing validation, then check if the address already has errors so we can exit early
if (!(bool) $force) {
/**
* Get the current errors for the address
*
* Since this is protected the listener has to cheat to get access.
*
* @see Mage_Customer_Model_Address_Abstract::_getErrors
*/
$method = new ReflectionMethod($address, '_getErrors');
$method->setAccessible(true);
/** @var string[] $errors */
$errors = $method->invoke($address);
// If the address validation already has errors, then skip the AvaTax validation
if (count($errors)) {
return;
}
}
$store = $address->getQuote()->getStore();
$result = $helper->getApi($store)->callValidateQuoteAddress($address);
if ($result['ResultCode'] === 'Success') {
$validAddress = reset($result['ValidAddresses']);
if (is_array($validAddress) && $validAddress['Country'] !== $address->getCountryId()) {
// If the validation resulted in a country change then treat that as a failure
$address->addError($helper->__('Could not validate address.'));
return;
}
if ($helper->isAddressNormalizationActive($store) && is_array($validAddress)) {
// Define which fields are track regarding normalization notifications
$trackedFields = array('street', 'city', 'region_id', 'postcode', 'country_id');
// Generate the pre-normalization values
$startData = array();
foreach ($trackedFields as $field) {
$startData[$field] = $address->getData($field);
}
// Find the region model by country and region code
/** @var Mage_Directory_Model_Region $regionModel */
$regionModel = Mage::getModel('directory/region')->loadByCode($validAddress['Region'], $validAddress['Country']);
// Update the address with the received values - These may be identical
$address->setStreetFull(array($validAddress['Line1'], $validAddress['Line2'], $validAddress['Line3']));
$address->setCity($validAddress['City']);
$address->setRegionId($regionModel->getId());
$address->setPostcode($validAddress['PostalCode']);
$address->setCountryId($validAddress['Country']);
// Check if any of the tracked fields were changed
$normalized = false;
foreach ($trackedFields as $field) {
if ($startData[$field] !== $address->getData($field)) {
$normalized = true;
break;
}
}
// Store the was_normalized flag on the address
if ($normalized) {
// We only set the flag if it is true to prevent loss of a previous setting of the value
// This happens if validate is called 2+ times on an address
$address->setData('was_normalized', true);
}
}
} else {
// Define which errored fields we are allowing the customer to see
$trackedErrors = array('Line1', 'Line2', 'Line3', 'City', 'Region', 'PostalCode', 'Country');
// Loop the messages looking for error to show the customer, adding those to the address object
$foundTrackedError = false;
foreach ($result['Messages'] as $message) {
if (strpos($message['RefersTo'], 'Address.') === 0 && in_array(substr($message['RefersTo'], 8), $trackedErrors)) {
$address->addError($message['Summary']);
$foundTrackedError = true;
}
}
// If we didn't find an errors that could be reported directly to the customer, then add a generic message.
if (!$foundTrackedError) {
$address->addError($helper->__('Could not validate address.'));
}
}
}
示例7: _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;
}
示例8: 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;
}
示例9: _getCountry
/**
* returns country
*
* @param Mage_Sales_Model_Quote_Address $address
* @return string
*/
protected function _getCountry($address)
{
return $address->getCountryId();
}
示例10: _processValidateCustomer
/**
* Deprecated but used by firecheckout to validate the taxvat field
*
* @deprecated Need to rename to _processValidateTaxvat
* @param Mage_Sales_Model_Quote_Address $address
* @return true|array
*/
protected function _processValidateCustomer(Mage_Sales_Model_Quote_Address $address)
{
// set customer tax/vat number for further usage
// $taxvat = $address->getTaxvat();
$taxvat = $this->getQuote()->getCustomerTaxvat();
if (strlen($taxvat) && Mage::getStoreConfig('firecheckout/taxvat/validate')) {
$taxvatValidator = Mage::getModel('firecheckout/taxvat_validator');
if (!$taxvatValidator->isValid($taxvat, $address->getCountryId())) {
return array('error' => -1, 'message' => $taxvatValidator->getMessage());
}
}
// set customer tax/vat number for further usage
if ($address->getTaxnumber()) {
$this->getQuote()->setCustomerTaxnumber($address->getTaxnumber());
}
return true;
}