本文整理汇总了PHP中Magento\Checkout\Model\Session::loadCustomerQuote方法的典型用法代码示例。如果您正苦于以下问题:PHP Session::loadCustomerQuote方法的具体用法?PHP Session::loadCustomerQuote怎么用?PHP Session::loadCustomerQuote使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Checkout\Model\Session
的用法示例。
在下文中一共展示了Session::loadCustomerQuote方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
/**
* @param \Magento\Framework\Event\Observer $observer
* @return void
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function execute(\Magento\Framework\Event\Observer $observer)
{
try {
$this->checkoutSession->loadCustomerQuote();
} catch (\Magento\Framework\Exception\LocalizedException $e) {
$this->messageManager->addError($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addException($e, __('Load customer quote error'));
}
}
示例2: testLoadCustomerQuoteCustomerWithoutQuote
/**
* Tes merging of customer data into initialized quote object.
*
* Conditions:
* 1. Quote without customer data is set to checkout session
* 2. Customer without associated quote is set to checkout session
*
* Expected result:
* Quote which is set to checkout session should contain customer data
*
* @magentoDataFixture Magento/Customer/_files/customer.php
* @magentoAppIsolation enabled
*/
public function testLoadCustomerQuoteCustomerWithoutQuote()
{
$quote = $this->_checkoutSession->getQuote();
$this->assertEmpty($quote->getCustomerId(), 'Precondition failed: Customer data must not be set to quote');
$this->assertEmpty($quote->getCustomerEmail(), 'Precondition failed: Customer data must not be set to quote');
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
/** @var \Magento\Customer\Api\CustomerRepositoryInterface $customerRepository */
$customerRepository = $objectManager->create('Magento\\Customer\\Api\\CustomerRepositoryInterface');
$customer = $customerRepository->getById(1);
/** @var \Magento\Customer\Model\Session $customerSession */
$customerSession = Bootstrap::getObjectManager()->get('Magento\\Customer\\Model\\Session');
$customerSession->setCustomerDataObject($customer);
/** Ensure that customer data is still unavailable before SUT invocation */
$quote = $this->_checkoutSession->getQuote();
$this->assertEmpty($quote->getCustomerEmail(), 'Precondition failed: Customer data must not be set to quote');
/** Execute SUT */
$this->_checkoutSession->loadCustomerQuote();
$quote = $this->_checkoutSession->getQuote();
$this->_validateCustomerDataInQuote($quote);
}
示例3: testLoadCustomerQuoteCustomerWithoutQuote
/**
* Tes merging of customer data into initialized quote object.
*
* Conditions:
* 1. Quote without customer data is set to checkout session
* 2. Customer without associated quote is set to checkout session
*
* Expected result:
* Quote which is set to checkout session should contain customer data
*
* @magentoDataFixture Magento/Customer/_files/customer.php
* @magentoAppIsolation enabled
*/
public function testLoadCustomerQuoteCustomerWithoutQuote()
{
/** Preconditions */
$customerIdFromFixture = 1;
$quote = $this->_checkoutSession->getQuote();
$this->assertEmpty($quote->getCustomerId(), 'Precondition failed: Customer data must not be set to quote');
$this->assertEmpty($quote->getCustomerEmail(), 'Precondition failed: Customer data must not be set to quote');
/** @var \Magento\Customer\Service\V1\CustomerAccountServiceInterface $customerService */
$customerService = Bootstrap::getObjectManager()->get('Magento\\Customer\\Service\\V1\\CustomerAccountServiceInterface');
$customer = $customerService->getCustomer($customerIdFromFixture);
/** @var \Magento\Customer\Model\Session $customerSession */
$customerSession = Bootstrap::getObjectManager()->get('Magento\\Customer\\Model\\Session');
$customerSession->setCustomerDataObject($customer);
/** Ensure that customer data is still unavailable before SUT invocation */
$quote = $this->_checkoutSession->getQuote();
$this->assertEmpty($quote->getCustomerEmail(), 'Precondition failed: Customer data must not be set to quote');
/** Execute SUT */
$this->_checkoutSession->loadCustomerQuote();
$quote = $this->_checkoutSession->getQuote();
$this->_validateCustomerDataInQuote($quote);
}
示例4: isQuoteVirtual
/**
* Check if quote is virtual
*
* @return bool
*/
protected function isQuoteVirtual()
{
return $this->checkoutSession->loadCustomerQuote()->getQuote()->getIsVirtual();
}