本文整理汇总了PHP中Magento\Quote\Model\Quote::getExtensionAttributes方法的典型用法代码示例。如果您正苦于以下问题:PHP Quote::getExtensionAttributes方法的具体用法?PHP Quote::getExtensionAttributes怎么用?PHP Quote::getExtensionAttributes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Quote\Model\Quote
的用法示例。
在下文中一共展示了Quote::getExtensionAttributes方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: processShippingAssignment
/**
* @param \Magento\Quote\Model\Quote $quote
* @return void
* @throws InputException
*/
private function processShippingAssignment($quote)
{
// Shipping Assignments processing
$extensionAttributes = $quote->getExtensionAttributes();
if (!$quote->isVirtual() && $extensionAttributes && $extensionAttributes->getShippingAssignments()) {
$shippingAssignments = $extensionAttributes->getShippingAssignments();
if (count($shippingAssignments) > 1) {
throw new InputException(__("Only 1 shipping assignment can be set"));
}
$this->shippingAssignmentPersister->save($quote, $shippingAssignments[0]);
}
}
示例2: updateShippingMethod
/**
* Set shipping method to quote, if needed
*
* @param string $methodCode
* @return void
*/
public function updateShippingMethod($methodCode)
{
$shippingAddress = $this->_quote->getShippingAddress();
if (!$this->_quote->getIsVirtual() && $shippingAddress) {
if ($methodCode != $shippingAddress->getShippingMethod()) {
$this->ignoreAddressValidation();
$shippingAddress->setShippingMethod($methodCode)->setCollectShippingRates(true);
$cartExtension = $this->_quote->getExtensionAttributes();
if ($cartExtension && $cartExtension->getShippingAssignments()) {
$cartExtension->getShippingAssignments()[0]->getShipping()->setMethod($methodCode);
}
$this->_quote->collectTotals();
$this->quoteRepository->save($this->_quote);
}
}
}
示例3: prepareShippingAssignment
/**
* @param \Magento\Quote\Model\Quote $quote
* @return \Magento\Quote\Model\Quote
*/
private function prepareShippingAssignment($quote)
{
$cartExtension = $quote->getExtensionAttributes();
if ($cartExtension === null) {
$cartExtension = $this->getCartExtensionFactory()->create();
}
/** @var \Magento\Quote\Api\Data\ShippingAssignmentInterface $shippingAssignment */
$shippingAssignment = $this->getShippingAssignmentProcessor()->create($quote);
$shipping = $shippingAssignment->getShipping();
$shipping->setMethod(null);
$shippingAssignment->setShipping($shipping);
$cartExtension->setShippingAssignments([$shippingAssignment]);
return $quote->setExtensionAttributes($cartExtension);
}