а если не вызовет?
код, создающий элемент, может прятаться где-то в замыкании, и в общем случае его нельзя поправить.
мы тут, кстати, о юзерскриптах говорим, если что.
как вариант, можно упороться в MutationObserver, но разницы особой нет, в том числе по объему кода.
/*
* проверяет есть ли товар с $productid в корзине и возвращает его количество
*/
public function applyCouponAction(string $coupon): array
{
$lstCoupons = Sale\DiscountCouponsManager::get(false, [], true, false);
$arDebug = ['$lstCoupons' => $lstCoupons];
// получим купоны и проверим нет ли этого купона среди примененных
foreach ($lstCoupons as $ecoupon) {
if ($ecoupon == $coupon) {
$coupon = false;
break;
}
}
if ($coupon) {
$couponChanged = Sale\DiscountCouponsManager::add($coupon);
if (!$couponChanged) Sale\DiscountCouponsManager::delete($coupon);
$arDebug['$couponChanged'] = $couponChanged;
}
$arResponce = $this->getAction();
if (APPLICATION_ENV == 'dev') $arResponce['debug'] = $arDebug;
return $arResponce;
}
#