У меня есть магазин с другой группой клиентов. У каждого клиента есть определенная скидка для всего продукта. Группа клиентов клиента A имеет 10 клиентов, а скидка - 10% на весь продукт. Скидка определяется на одном из моих сайтов API, поэтому это скидка в реальном времени для разных групп клиентов. Когда клиент регистрируется в группе клиентов A, он может видеть цену со скидкой 10% каждый раз (список продуктов, просмотр продукта, и весь процесс проверки.)Показать цену со скидкой во всем мире
Я могу достичь этого, позвонив ниже кода, но он отображается только на странице с карточкой не везде.
checkout_cart_product_add_after
функция наблюдателя
$item = $observer->getQuoteItem();
$product = $observer->getProduct();
$price = $product->getPrice();
//print_r($item->toArray());exit;
// Discounted 25% off
$percentDiscount = 0.25;
// This makes sure the discount isn't applied over and over when refreshing
$specialPrice = $product->getPrice() - ($product->getPrice() * $percentDiscount);
// Make sure we don't have a negative
if($specialPrice>0){
$item->setCustomPrice($specialPrice);
$item->setOriginalCustomPrice($specialPrice);
$item->getProduct()->setIsSuperMode(true);
}
Как я этого добиться Пожалуйста, помогите
Я не думаю, что это можно сделать через наблюдателей, вместо этого вам нужно вручную закодировать evey, где хотите показать скидку. например: список продуктов, виджеты боковой панели, мини-корзина и т. д. –