本文整理匯總了PHP中Magento\Quote\Model\Quote\Item::getAddress方法的典型用法代碼示例。如果您正苦於以下問題:PHP Item::getAddress方法的具體用法?PHP Item::getAddress怎麽用?PHP Item::getAddress使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\Quote\Model\Quote\Item
的用法示例。
在下文中一共展示了Item::getAddress方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testGetAddress
public function testGetAddress()
{
$quote = $this->getMockBuilder('Magento\\Quote\\Model\\Quote')->setMethods(['getShippingAddress', 'getBillingAddress', 'getStoreId', '__wakeup'])->disableOriginalConstructor()->getMock();
$quote->expects($this->once())->method('getShippingAddress')->will($this->returnValue('shipping'));
$quote->expects($this->once())->method('getBillingAddress')->will($this->returnValue('billing'));
$quote->expects($this->any())->method('getStoreId')->will($this->returnValue(1));
$this->model->setQuote($quote);
$quote->setItemsQty(2);
$quote->setVirtualItemsQty(1);
$this->assertEquals('shipping', $this->model->getAddress(), 'Wrong shipping address');
$quote->setItemsQty(2);
$quote->setVirtualItemsQty(2);
$this->assertEquals('billing', $this->model->getAddress(), 'Wrong billing address');
}
示例2: _initItem
/**
* Address item initialization
*
* @param Address $address
* @param AddressItem|Item $item
* @return bool
*/
protected function _initItem($address, $item)
{
if ($item instanceof AddressItem) {
$quoteItem = $item->getAddress()->getQuote()->getItemById($item->getQuoteItemId());
} else {
$quoteItem = $item;
}
$product = $quoteItem->getProduct();
$product->setCustomerGroupId($quoteItem->getQuote()->getCustomerGroupId());
/**
* Quote super mode flag mean what we work with quote without restriction
*/
if ($item->getQuote()->getIsSuperMode()) {
if (!$product) {
return false;
}
} else {
if (!$product || !$product->isVisibleInCatalog()) {
return false;
}
}
$originalPrice = $product->getPrice();
if ($quoteItem->getParentItem() && $quoteItem->isChildrenCalculated()) {
$finalPrice = $quoteItem->getParentItem()->getProduct()->getPriceModel()->getChildFinalPrice($quoteItem->getParentItem()->getProduct(), $quoteItem->getParentItem()->getQty(), $product, $quoteItem->getQty());
$this->_calculateRowTotal($item, $finalPrice, $originalPrice);
} elseif (!$quoteItem->getParentItem()) {
$finalPrice = $product->getFinalPrice($quoteItem->getQty());
$this->_calculateRowTotal($item, $finalPrice, $originalPrice);
$this->_addAmount($item->getRowTotal());
$this->_addBaseAmount($item->getBaseRowTotal());
$address->setTotalQty($address->getTotalQty() + $item->getQty());
}
return true;
}