當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Quote::setXForwardedFor方法代碼示例

本文整理匯總了PHP中Magento\Quote\Model\Quote::setXForwardedFor方法的典型用法代碼示例。如果您正苦於以下問題:PHP Quote::setXForwardedFor方法的具體用法?PHP Quote::setXForwardedFor怎麽用?PHP Quote::setXForwardedFor使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Magento\Quote\Model\Quote的用法示例。


在下文中一共展示了Quote::setXForwardedFor方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: getQuote

 /**
  * Get checkout quote instance by current session
  *
  * @return Quote
  * @SuppressWarnings(PHPMD.CyclomaticComplexity)
  * @SuppressWarnings(PHPMD.NPathComplexity)
  */
 public function getQuote()
 {
     $this->_eventManager->dispatch('custom_quote_process', ['checkout_session' => $this]);
     if ($this->_quote === null) {
         $quote = $this->quoteFactory->create();
         if ($this->getQuoteId()) {
             try {
                 if ($this->_loadInactive) {
                     $quote = $this->quoteRepository->get($this->getQuoteId());
                 } else {
                     $quote = $this->quoteRepository->getActive($this->getQuoteId());
                 }
                 /**
                  * If current currency code of quote is not equal current currency code of store,
                  * need recalculate totals of quote. It is possible if customer use currency switcher or
                  * store switcher.
                  */
                 if ($quote->getQuoteCurrencyCode() != $this->_storeManager->getStore()->getCurrentCurrencyCode()) {
                     $quote->setStore($this->_storeManager->getStore());
                     $this->quoteRepository->save($quote->collectTotals());
                     /*
                      * We mast to create new quote object, because collectTotals()
                      * can to create links with other objects.
                      */
                     $quote = $this->quoteRepository->get($this->getQuoteId());
                 }
             } catch (\Magento\Framework\Exception\NoSuchEntityException $e) {
                 $this->setQuoteId(null);
             }
         }
         if (!$this->getQuoteId()) {
             if ($this->_customerSession->isLoggedIn() || $this->_customer) {
                 $customerId = $this->_customer ? $this->_customer->getId() : $this->_customerSession->getCustomerId();
                 try {
                     $quote = $this->quoteRepository->getActiveForCustomer($customerId);
                     $this->setQuoteId($quote->getId());
                 } catch (\Magento\Framework\Exception\NoSuchEntityException $e) {
                 }
             } else {
                 $quote->setIsCheckoutCart(true);
                 $this->_eventManager->dispatch('checkout_quote_init', ['quote' => $quote]);
             }
         }
         if ($this->_customer) {
             $quote->setCustomer($this->_customer);
         } elseif ($this->_customerSession->isLoggedIn()) {
             $quote->setCustomer($this->customerRepository->getById($this->_customerSession->getCustomerId()));
         }
         $quote->setStore($this->_storeManager->getStore());
         $this->_quote = $quote;
     }
     if (!$this->isQuoteMasked() && !$this->_customerSession->isLoggedIn() && $this->getQuoteId()) {
         $quoteId = $this->getQuoteId();
         /** @var $quoteIdMask \Magento\Quote\Model\QuoteIdMask */
         $quoteIdMask = $this->quoteIdMaskFactory->create()->load($quoteId, 'quote_id');
         if ($quoteIdMask->getMaskedId() === null) {
             $quoteIdMask->setQuoteId($quoteId)->save();
         }
         $this->setIsQuoteMasked(true);
     }
     $remoteAddress = $this->_remoteAddress->getRemoteAddress();
     if ($remoteAddress) {
         $this->_quote->setRemoteIp($remoteAddress);
         $xForwardIp = $this->request->getServer('HTTP_X_FORWARDED_FOR');
         $this->_quote->setXForwardedFor($xForwardIp);
     }
     return $this->_quote;
 }
開發者ID:pradeep-wagento,項目名稱:magento2,代碼行數:75,代碼來源:Session.php


注:本文中的Magento\Quote\Model\Quote::setXForwardedFor方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。