本文整理汇总了PHP中Magento\Catalog\Model\Product::getCustomOptions方法的典型用法代码示例。如果您正苦于以下问题:PHP Product::getCustomOptions方法的具体用法?PHP Product::getCustomOptions怎么用?PHP Product::getCustomOptions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Catalog\Model\Product
的用法示例。
在下文中一共展示了Product::getCustomOptions方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: init
/**
* Initialize quote item object
*
* @param \Magento\Framework\Object $request
* @param Product $product
*
* @return \Magento\Quote\Model\Quote\Item
*/
public function init(Product $product, $request)
{
$item = $this->quoteItemFactory->create();
$this->setItemStoreId($item);
/**
* We can't modify existing child items
*/
if ($item->getId() && $product->getParentProductId()) {
return $item;
}
$item->setOptions($product->getCustomOptions());
$item->setProduct($product);
if ($request->getResetCount() && !$product->getStickWithinParent() && $item->getId() === $request->getId()) {
$item->setData('qty', 0);
}
return $item;
}
示例2: testCustomOptionsApi
/**
* @covers \Magento\Catalog\Model\Product::addCustomOption
* @covers \Magento\Catalog\Model\Product::setCustomOptions
* @covers \Magento\Catalog\Model\Product::getCustomOptions
* @covers \Magento\Catalog\Model\Product::getCustomOption
* @covers \Magento\Catalog\Model\Product::hasCustomOptions
*/
public function testCustomOptionsApi()
{
$this->assertEquals([], $this->_model->getCustomOptions());
$this->assertFalse($this->_model->hasCustomOptions());
$this->_model->setId(99);
$this->_model->addCustomOption('one', 'value1');
$option = $this->_model->getCustomOption('one');
$this->assertInstanceOf('Magento\\Framework\\DataObject', $option);
$this->assertEquals($this->_model->getId(), $option->getProductId());
$this->assertSame($option->getProduct(), $this->_model);
$this->assertEquals('one', $option->getCode());
$this->assertEquals('value1', $option->getValue());
$this->assertEquals(['one' => $option], $this->_model->getCustomOptions());
$this->assertTrue($this->_model->hasCustomOptions());
$this->_model->setCustomOptions(['test']);
$this->assertTrue(is_array($this->_model->getCustomOptions()));
}
示例3: representProduct
/**
* Check product representation in item
*
* @param \Magento\Catalog\Model\Product $product
* @return bool
*/
public function representProduct($product)
{
$itemProduct = $this->getProduct();
if (!$product || $itemProduct->getId() != $product->getId()) {
return false;
}
/**
* Check maybe product is planned to be a child of some quote item - in this case we limit search
* only within same parent item
*/
$stickWithinParent = $product->getStickWithinParent();
if ($stickWithinParent) {
if ($this->getParentItem() !== $stickWithinParent) {
return false;
}
}
// Check options
$itemOptions = $this->getOptionsByCode();
$productOptions = $product->getCustomOptions();
if (!$this->compareOptions($itemOptions, $productOptions)) {
return false;
}
if (!$this->compareOptions($productOptions, $itemOptions)) {
return false;
}
return true;
}
示例4: representProduct
/**
* Check product representation in item
*
* @param \Magento\Catalog\Model\Product $product
* @return bool
*/
public function representProduct($product)
{
$itemProduct = $this->getProduct();
if ($itemProduct->getId() != $product->getId()) {
return false;
}
$itemOptions = $this->getOptionsByCode();
$productOptions = $product->getCustomOptions();
if (!$this->compareOptions($itemOptions, $productOptions)) {
return false;
}
if (!$this->compareOptions($productOptions, $itemOptions)) {
return false;
}
return true;
}
示例5: getCustomOptions
/**
* {@inheritdoc}
*/
public function getCustomOptions()
{
$pluginInfo = $this->pluginList->getNext($this->subjectType, 'getCustomOptions');
if (!$pluginInfo) {
return parent::getCustomOptions();
} else {
return $this->___callPlugins('getCustomOptions', func_get_args(), $pluginInfo);
}
}