本文整理汇总了PHP中Magento\Checkout\Model\Session::setCartWasUpdated方法的典型用法代码示例。如果您正苦于以下问题:PHP Session::setCartWasUpdated方法的具体用法?PHP Session::setCartWasUpdated怎么用?PHP Session::setCartWasUpdated使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Checkout\Model\Session
的用法示例。
在下文中一共展示了Session::setCartWasUpdated方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setUp
/**
* @inheritdoc
*/
public function setUp()
{
parent::setUp();
$this->quote = $this->_objectManager->create('Magento\\Quote\\Model\\Quote');
$this->checkoutSession = $this->_objectManager->get('Magento\\Checkout\\Model\\Session');
$this->quote->load('test01', 'reserved_order_id');
$this->checkoutSession->setQuoteId($this->quote->getId());
$this->checkoutSession->setCartWasUpdated(false);
}
示例2: reinitializeState
/**
* Reinitialize cart quote state
*
* @return $this
*/
protected function reinitializeState()
{
$quote = $this->getQuote()->setCheckoutMethod('');
$this->_checkoutSession->setCartWasUpdated(true);
// TODO: Move this logic to Multishipping module as plug-in.
// reset for multiple address checkout
if ($this->_checkoutSession->getCheckoutState() !== Session::CHECKOUT_STATE_BEGIN && $this->_checkoutSession->getCheckoutState() !== null) {
$quote->removeAllAddresses()->removePayment();
$this->_checkoutSession->resetCheckout();
}
return $this;
}
示例3: execute
public function execute()
{
$params = $this->getRequest()->getParams();
/** @var \Magento\Checkout\Model\Cart $cart */
$cart = $this->cartFactory->create();
$successMessage = '';
$websiteId = $this->storeManager->getStore()->getWebsiteId();
foreach ($params as $key => $product) {
if ($product && is_array($product)) {
$productModel = $this->productFactory->create();
// loadByAttribute() return false if the product was not found. There is no need to check the ID,
// but lets stay on the safe side for the future Magento releases
/** @var \Magento\Catalog\Model\Product $productBySKU */
$productBySKU = $productModel->loadByAttribute('sku', $product['sku']);
if (!$productBySKU || !($productId = $productBySKU->getId())) {
continue;
}
$stockItem = $this->stockItemApiFactory->create();
/** @var \Magento\CatalogInventory\Model\ResourceModel\Stock\Item $stockItemResource */
$stockItemResource = $this->stockItemApiResourceFactory->create();
$stockItemResource->loadByProductId($stockItem, $productId, $websiteId);
$qty = $stockItem->getQty();
try {
if (!$cart->getQuote()->hasProductId($productId) && is_numeric($product['qty']) && $qty > $product['qty']) {
$cart->addProduct($productBySKU, (int) $product['qty']);
$successMessage .= __('%1 was added to your shopping cart.' . '</br>', $this->escaper->escapeHtml($productBySKU->getName()));
}
unset($params[$key]);
} catch (\Exception $e) {
$this->rejoinerHelper->log($e->getMessage());
}
}
}
if (isset($params['coupon_code'])) {
$cart->getQuote()->setCouponCode($params['coupon_code'])->collectTotals();
}
try {
$cart->getQuote()->save();
$cart->save();
} catch (\Exception $e) {
$this->rejoinerHelper->log($e->getMessage());
}
$this->checkoutSession->setCartWasUpdated(true);
if ($successMessage) {
$this->messageManager->addSuccess($successMessage);
}
$url = $this->_url->getUrl('checkout/cart/', ['updateCart' => true]);
$this->getResponse()->setRedirect($url);
}