версия Magento 1.6.2.0 .Я переопределил Mage_Sales_Order_Quote
в app/code/local
, чтобы не просто увеличивать количество, если установлена опция desiger
.У меня есть система дизайна, по которой человек может щелкнуть ссылку в представлении продукта, и он перенаправляется на созданного нами дизайнера, затем продукт добавляется в корзину прагматически.
Я изменил getItemByProduct
наследующее:
public function getItemByProduct($product)
{
$_options = unserialize($product->getCustomOption('info_buyRequest')->getValue());
$_designs = $_options['options']['designer'];
foreach ($this->getAllItems() as $item) {
if ($item->representProduct($product)) {
$_itemOptions = unserialize($item->getProduct()->getCustomOption('info_buyRequest')->getValue());
if (!empty($_designs) && !empty($_itemOptions['options']['designer'])) { // consider detecting if this was a re-design
return false;
} else {
return $item;
}
}
}
return false;
}
Теперь, функциональность работает как задумано, за исключением того факта, что, если я вышел из системы и у меня есть товары в корзине, когда я вхожу, товары снова объединяются, как используемые по умолчаниючтобы быть, а не мое переопределение.Где еще я мог бы посмотреть, чтобы удалить это?У меня включен параметр «Сохранить корзину в базу данных», чтобы сделать корзины постоянными, если это актуально.