本文整理汇总了PHP中Mage_Sales_Model_Quote_Item::addOption方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Sales_Model_Quote_Item::addOption方法的具体用法?PHP Mage_Sales_Model_Quote_Item::addOption怎么用?PHP Mage_Sales_Model_Quote_Item::addOption使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Sales_Model_Quote_Item
的用法示例。
在下文中一共展示了Mage_Sales_Model_Quote_Item::addOption方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _assignOptionsToItem
/**
* Assign options to item
*
* @param Mage_Sales_Model_Quote_Item $item
* @param array $options
*/
protected function _assignOptionsToItem(Mage_Sales_Model_Quote_Item $item, $options)
{
if ($optionIds = $item->getOptionByCode('option_ids')) {
foreach (explode(',', $optionIds->getValue()) as $optionId) {
$item->removeOption('option_' . $optionId);
}
$item->removeOption('option_ids');
}
if ($item->getOptionByCode('additional_options')) {
$item->removeOption('additional_options');
}
$item->save();
if (!empty($options['options'])) {
$item->addOption(new Varien_Object(array('product' => $item->getProduct(), 'code' => 'option_ids', 'value' => implode(',', array_keys($options['options'])))));
foreach ($options['options'] as $optionId => $optionValue) {
$item->addOption(new Varien_Object(array('product' => $item->getProduct(), 'code' => 'option_' . $optionId, 'value' => $optionValue)));
}
}
if (!empty($options['additional_options'])) {
$item->addOption(new Varien_Object(array('product' => $item->getProduct(), 'code' => 'additional_options', 'value' => serialize($options['additional_options']))));
}
return $this;
}
示例2: unstashLineItemData
/**
* @param Mage_Sales_Model_Quote_Item $lineItem
* @param Vbw_Punchout_Model_Sales_Stash $stash
* @param Mage_Checkout_Model_Cart $cartObj
* @param $options
*/
public function unstashLineItemData($lineItem, $stash, $cartObj, $options)
{
$customData = Mage::getStoreConfig('vbw_punchout/order/stash_item_list');
$customData = unserialize($customData);
if (!empty($customData)) {
foreach ($customData as $datum) {
$info = $stash->stash($datum['key']);
if (!empty($info) || is_numeric($info)) {
if (preg_match('/^([^\\/]+)\\/([^\\/]+)$/', $datum['key'], $s)) {
$src = $s[1];
$code = $s[2];
switch ($src) {
case "option":
$option = array('code' => $code, 'value' => $info);
$lineItem->addOption($option);
}
} else {
$lineItem->setData($datum['key'], $info);
}
}
}
}
Mage::dispatchEvent('punchout_cart_item_unstash', array('stash_item' => $stash, 'item' => $lineItem, 'cart' => $cartObj, 'options' => $options));
Mage::helper('vbw_punchout')->debug('unstash item ' . print_r(Mage::helper('vbw_punchout/debug')->debugData($lineItem->getData()), true));
}