• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP Mage_Shipping_Model_Rate_Result类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中Mage_Shipping_Model_Rate_Result的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Shipping_Model_Rate_Result类的具体用法?PHP Mage_Shipping_Model_Rate_Result怎么用?PHP Mage_Shipping_Model_Rate_Result使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Mage_Shipping_Model_Rate_Result类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: _appendError

 /**
  * Adds the error message in the result
  *
  * @param Mage_Shipping_Model_Rate_Result $result
  * @param string $message
  * @return Storm_Correios_Model_Carrier_Shipping
  */
 protected function _appendError(Mage_Shipping_Model_Rate_Result &$result, $message)
 {
     $this->_getHelper()->log($message);
     $error = Mage::getModel('shipping/rate_result_error');
     $error->setCarrier($this->_code)->setCarrierTitle($this->getConfigData('title'))->setErrorMessage($message);
     $result->append($error);
     return $this;
 }
开发者ID:elderxavier,项目名称:correios,代码行数:15,代码来源:Shipping.php


示例2: append

 /**
  * Add a rate to the result
  *
  * @param Mage_Shipping_Model_Rate_Result_Abstract|Mage_Shipping_Model_Rate_Result $result
  */
 public function append($result)
 {
     if ($result instanceof Mage_Shipping_Model_Rate_Result_Abstract) {
         $this->_rates[] = $result;
     } elseif ($result instanceof Mage_Shipping_Model_Rate_Result) {
         $rates = $result->getAllRates();
         foreach ($rates as $rate) {
             $this->append($rate);
         }
     }
     return $this;
 }
开发者ID:jauderho,项目名称:magento-mirror,代码行数:17,代码来源:Result.php


示例3: _appendShippingErrors

 /**
  * Some special errors must be sent to users.
  * If not applicable, the default error will be sent.
  * 
  * @param array $errorList Error List
  * 
  * @return boolean
  */
 protected function _appendShippingErrors($errorList)
 {
     $output = false;
     $successCode = '0';
     $hasValidQuote = array_key_exists($successCode, $errorList);
     if (!$hasValidQuote) {
         $displayErrorList = explode(',', $this->getConfigData('hard_errors'));
         if ($this->getConfigFlag('show_soft_errors')) {
             $softErrorList = explode(',', $this->getConfigData('soft_errors'));
             $displayErrorList = array_merge($displayErrorList, $softErrorList);
         }
         foreach ($errorList as $errorCode => $errorMsg) {
             $isDisplayError = in_array($errorCode, $displayErrorList);
             if ($isDisplayError) {
                 $error = Mage::getModel('shipping/rate_result_error');
                 $error->setCarrier($this->_code);
                 $error->setErrorMessage($errorMsg);
                 $this->_result->append($error);
                 $output = true;
             }
         }
         if (!$output) {
             $logMsg = implode(',', $errorList);
             Mage::log("{$this->_code}: Warning! There is no valid quotes, and no one error was throwed: {$logMsg}");
         }
     }
     return $output;
 }
开发者ID:NelisRodrigues,项目名称:correios,代码行数:36,代码来源:CorreiosMethod.php


示例4: sortRatesByPrice

 public function sortRatesByPrice()
 {
     if (Mage::getStoreConfigFlag('udropship/customer/allow_shipping_extra_charge')) {
         $this->sortRatesByPriority();
     } else {
         parent::sortRatesByPrice();
     }
     return $this;
 }
开发者ID:xiaoguizhidao,项目名称:magento,代码行数:9,代码来源:RateResult.php


示例5: _appendShippingWarning

 /**
  * Add a warning message at the top of the shipping method list.
  *
  * @param SimpleXMLElement $servico Post Method
  *
  * @return boolean
  */
 protected function _appendShippingWarning(SimpleXMLElement $servico)
 {
     $id = (string) $servico->Erro;
     $ids = explode(',', $this->getConfigData('soft_errors'));
     if (in_array($id, $ids)) {
         $error = Mage::getModel('shipping/rate_result_error');
         $error->setCarrier($this->_code);
         $error->setErrorMessage($servico->MsgErro);
         $this->_result->append($error);
         return true;
     }
     return false;
 }
开发者ID:rafaelmsantiago,项目名称:correios,代码行数:20,代码来源:CorreiosMethod.php


示例6: getResponse

 /**
  * Get tracking response
  *
  * @return string
  */
 public function getResponse()
 {
     $statuses = '';
     if ($this->_result instanceof Mage_Shipping_Model_Tracking_Result) {
         if ($trackings = $this->_result->getAllTrackings()) {
             foreach ($trackings as $tracking) {
                 if ($data = $tracking->getAllData()) {
                     if (!empty($data['status'])) {
                         $statuses .= Mage::helper('usa')->__($data['status']) . "\n<br/>";
                     } else {
                         $statuses .= Mage::helper('usa')->__('Empty response') . "\n<br/>";
                     }
                 }
             }
         }
     }
     if (empty($statuses)) {
         $statuses = Mage::helper('usa')->__('Empty response');
     }
     return $statuses;
 }
开发者ID:sshegde123,项目名称:wmp8,代码行数:26,代码来源:Fedex.php


示例7: getResponse

 /**
  * Get tracking response
  *
  * @return string
  */
 public function getResponse()
 {
     $statuses = '';
     if ($this->_result instanceof Mage_Shipping_Model_Tracking_Result) {
         if ($trackings = $this->_result->getAllTrackings()) {
             foreach ($trackings as $tracking) {
                 if ($data = $tracking->getAllData()) {
                     if (isset($data['status'])) {
                         $statuses .= Mage::helper('Mage_Usa_Helper_Data')->__($data['status']);
                     } else {
                         $statuses .= Mage::helper('Mage_Usa_Helper_Data')->__($data['error_message']);
                     }
                 }
             }
         }
     }
     if (empty($statuses)) {
         $statuses = Mage::helper('Mage_Usa_Helper_Data')->__('Empty response');
     }
     return $statuses;
 }
开发者ID:natxetee,项目名称:magento2,代码行数:26,代码来源:Ups.php


示例8: _getTracking

 /**
  * Protected Get Tracking, opens the request to Correios
  *
  * @param string $code Code
  *
  * @return bool
  */
 protected function _getTracking($code)
 {
     $error = Mage::getModel('shipping/tracking_result_error');
     $error->setTracking($code);
     $error->setCarrier($this->_code);
     $error->setCarrierTitle($this->getConfigData('title'));
     $error->setErrorMessage($this->getConfigData('urlerror'));
     $curl = curl_init();
     curl_setopt($curl, CURLOPT_URL, "https://fastshipping.ciawn.com.br/v1/tracking/" . $code . "?token=" . $this->_token);
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
     curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
     $response = curl_exec($curl);
     curl_close($curl);
     $response = json_decode($response)->result;
     $progress = array();
     foreach ($response as $key => $item) {
         $datetime = explode(' ', $item->data);
         $locale = new Zend_Locale('pt_BR');
         $date = '';
         $date = new Zend_Date($datetime[0], 'dd/MM/YYYY', $locale);
         $track = array('deliverydate' => $date->toString('YYYY-MM-dd'), 'deliverytime' => $datetime[1] . ':00', 'deliverylocation' => $item->local, 'status' => $item->acao, 'activity' => $item->detalhes);
         $progress[] = $track;
     }
     if (!empty($progress)) {
         $track = $progress[0];
         $track['progressdetail'] = $progress;
         $tracking = Mage::getModel('shipping/tracking_result_status');
         $tracking->setTracking($code);
         $tracking->setCarrier($this->_code);
         $tracking->setCarrierTitle($this->getConfigData('title'));
         $tracking->addData($track);
         $this->_result->append($tracking);
         return true;
     } else {
         $this->_result->append($error);
         return false;
     }
 }
开发者ID:FastShipping,项目名称:fastshipping-magento,代码行数:46,代码来源:CorreiosMethod.php


示例9: _getQuotes

 protected function _getQuotes($extraCover, $config)
 {
     $destCountry = $config['country_code'];
     try {
         if ($destCountry == Fontis_Australia_Helper_Data::AUSTRALIA_COUNTRY_CODE) {
             $services = $this->_client->listDomesticParcelServices($config);
         } else {
             $services = $this->_client->listInternationalParcelServices($config);
         }
     } catch (Exception $e) {
         Mage::logException($e);
         return;
     }
     // TODO: Clean up this logic
     $allowedMethods = $this->getAllowedMethods();
     $extraCoverParent = $this->getCode('extra_cover');
     foreach ($services['services']['service'] as $service) {
         $serviceCode = $service['code'];
         // e.g. AUS_PARCEL_REGULAR
         if (in_array($serviceCode, $allowedMethods)) {
             $serviceName = $service['name'];
             // e.g. Parcel Post
             $servicePrice = $service['price'];
             // Just add the shipping method if the call to Australia Post
             // returns no options for that method
             if (!isset($service['options']['option']) && $this->_isAvailableShippingMethod($serviceName, $destCountry)) {
                 $method = $this->createMethod($serviceCode, $serviceName, $servicePrice);
                 $this->_result->append($method);
                 // If a shipping method has a bunch of options, we will have to
                 // create a specific method for each of the variants
             } else {
                 $serviceOption = $service['options']['option'];
                 // Unlike domestic shipping methods where the "default"
                 // method is listed as simply another service option (this
                 // allows us to simply loop through each one), we have to
                 // extrapolate the default international shipping method
                 // from what we know about the service itself
                 if ($destCountry != Fontis_Australia_Helper_Data::AUSTRALIA_COUNTRY_CODE && $this->_isAvailableShippingMethod($serviceName, $destCountry)) {
                     $method = $this->createMethod($serviceCode, $serviceName, $servicePrice);
                     $this->_result->append($method);
                 }
                 // Checks to see if the API has returned either a single
                 // service option or an array of them. If it is a single
                 // option then turn it into an array.
                 if (isset($serviceOption['name'])) {
                     $serviceOption = array($serviceOption);
                 }
                 foreach ($serviceOption as $option) {
                     $serviceOptionName = $option['name'];
                     $serviceOptionCode = $option['code'];
                     $config = array_merge($config, array('service_code' => $serviceCode, 'option_code' => $serviceOptionCode, 'extra_cover' => $extraCover));
                     try {
                         if ($destCountry == Fontis_Australia_Helper_Data::AUSTRALIA_COUNTRY_CODE) {
                             $postage = $this->_client->calculateDomesticParcelPostage($config);
                         } else {
                             $postage = $this->_client->calculateInternationalParcelPostage($config);
                         }
                     } catch (Exception $e) {
                         continue;
                     }
                     $servicePrice = $postage['postage_result']['total_cost'];
                     /** @var Fontis_Australia_Helper_Clickandsend $clickandsendHelper */
                     $clickandsendHelper = Mage::helper('australia/clickandsend');
                     // Create a shipping method with only the top-level options
                     $_finalCode = $serviceCode . '_' . $serviceOptionCode;
                     $_finalName = $serviceName . ' (' . $serviceOptionName . ')';
                     if ($this->_isAvailableShippingMethod($_finalName, $destCountry) && !(in_array($serviceOptionCode, $clickandsendHelper->getDisallowedServiceOptions()) && in_array($serviceCode, $clickandsendHelper->getDisallowedServiceCodes()) && $clickandsendHelper->isClickAndSendEnabled() && $clickandsendHelper->isFilterShippingMethods())) {
                         $method = $this->createMethod($_finalCode, $_finalName, $servicePrice);
                         $this->_result->append($method);
                     }
                     // Add the extra cover options (these are suboptions of
                     // the top-level options)
                     if (array_key_exists($serviceOptionCode, $extraCoverParent) && !($clickandsendHelper->isClickAndSendEnabled() && $clickandsendHelper->isFilterShippingMethods())) {
                         try {
                             if ($destCountry == Fontis_Australia_Helper_Data::AUSTRALIA_COUNTRY_CODE) {
                                 $config = array_merge($config, array('suboption_code' => ServiceOption::AUS_SERVICE_OPTION_EXTRA_COVER));
                                 $postageWithExtraCover = $this->_client->calculateDomesticParcelPostage($config);
                             } else {
                                 $postageWithExtraCover = $this->_client->calculateInternationalParcelPostage($config);
                             }
                             unset($config['suboption_code']);
                         } catch (Exception $e) {
                             continue;
                         }
                         if ($serviceOptionName == 'Signature on Delivery') {
                             $serviceOptionName = $serviceOptionName . ' + Extra Cover';
                         } else {
                             $serviceOptionName = 'Extra Cover';
                         }
                         if ($serviceOptionCode == ServiceOption::AUS_SERVICE_OPTION_SIGNATURE_ON_DELIVERY) {
                             $serviceOptionCode = 'FULL_PACKAGE';
                         } else {
                             $serviceOptionCode = 'EXTRA_COVER';
                         }
                         $servicePrice = $postageWithExtraCover['postage_result']['total_cost'];
                         $_finalCode = $serviceCode . '_' . $serviceOptionCode;
                         $_finalName = $serviceName . ' (' . $serviceOptionName . ')';
                         if ($this->_isAvailableShippingMethod($_finalName, $destCountry)) {
                             $method = $this->createMethod($_finalCode, $_finalName, $servicePrice);
                             $this->_result->append($method);
//.........这里部分代码省略.........
开发者ID:rob3000,项目名称:fontis_australia,代码行数:101,代码来源:Australiapost.php


示例10: _getTracking

 /**
  * Protected Get Tracking, opens the request to Correios
  *
  * @param string $code
  *
  * @return bool
  */
 protected function _getTracking($code)
 {
     $error = Mage::getModel('shipping/tracking_result_error');
     $error->setTracking($code);
     $error->setCarrier($this->_code);
     $error->setCarrierTitle($this->getConfigData('title'));
     $error->setErrorMessage($this->getConfigData('urlerror'));
     $url = 'http://websro.correios.com.br/sro_bin/txect01$.QueryList';
     $url .= '?P_LINGUA=001&P_TIPO=001&P_COD_UNI=' . $code;
     try {
         $client = new Zend_Http_Client();
         $client->setUri($url);
         $content = $client->request();
         $body = $content->getBody();
     } catch (Exception $e) {
         $this->_result->append($error);
         return false;
     }
     if (!preg_match('#<table ([^>]+)>(.*?)</table>#is', $body, $matches)) {
         $this->_result->append($error);
         return false;
     }
     $table = $matches[2];
     if (!preg_match_all('/<tr>(.*)<\\/tr>/i', $table, $columns, PREG_SET_ORDER)) {
         $this->_result->append($error);
         return false;
     }
     $progress = array();
     for ($i = 0; $i < count($columns); $i++) {
         $column = $columns[$i][1];
         $description = '';
         $found = false;
         if (preg_match('/<td rowspan="?2"?/i', $column) && preg_match('/<td rowspan="?2"?>(.*)<\\/td><td>(.*)<\\/td><td><font color="[A-Z0-9]{6}">(.*)<\\/font><\\/td>/i', $column, $matches)) {
             if (preg_match('/<td colspan="?2"?>(.*)<\\/td>/i', $columns[$i + 1][1], $matchesDescription)) {
                 $description = str_replace('  ', '', $matchesDescription[1]);
             }
             $found = true;
         } elseif (preg_match('/<td rowspan="?1"?>(.*)<\\/td><td>(.*)<\\/td><td><font color="[A-Z0-9]{6}">(.*)<\\/font><\\/td>/i', $column, $matches)) {
             $found = true;
         }
         if ($found) {
             $datetime = explode(' ', $matches[1]);
             $locale = new Zend_Locale('pt_BR');
             $date = '';
             $date = new Zend_Date($datetime[0], 'dd/MM/YYYY', $locale);
             $track = array('deliverydate' => $date->toString('YYYY-MM-dd'), 'deliverytime' => $datetime[1] . ':00', 'deliverylocation' => htmlentities($matches[2]), 'status' => htmlentities($matches[3]), 'activity' => htmlentities($matches[3]));
             if ($description !== '') {
                 $track['activity'] = $matches[3] . ' - ' . htmlentities($description);
             }
             $progress[] = $track;
         }
     }
     if (!empty($progress)) {
         $track = $progress[0];
         $track['progressdetail'] = $progress;
         $tracking = Mage::getModel('shipping/tracking_result_status');
         $tracking->setTracking($code);
         $tracking->setCarrier('correios');
         $tracking->setCarrierTitle($this->getConfigData('title'));
         $tracking->addData($track);
         $this->_result->append($tracking);
         return true;
     } else {
         $this->_result->append($error);
         return false;
     }
 }
开发者ID:danielwalterrodrigues,项目名称:asus,代码行数:74,代码来源:CorreiosMethod.php



注:本文中的Mage_Shipping_Model_Rate_Result类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP Mage_Tax_Model_Config类代码示例发布时间:2022-05-23
下一篇:
PHP Mage_Shipping_Model_Rate_Request类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap