44 $previousAdjustments = 0;
46 foreach ($saleableItem->
getPriceInfo()->getAdjustments() as $adjustment) {
47 $code = $adjustment->getAdjustmentCode();
49 if (!is_array($exclude)) {
50 if ($exclude ===
true || ($exclude !==
null &&
$code === $exclude)) {
54 if (in_array(
$code, $exclude)) {
58 if ($adjustment->isIncludedInBasePrice()) {
59 $adjust = $adjustment->extractAdjustment(
$baseAmount, $saleableItem, $context);
61 $fullAmount = $adjustment->applyAdjustment($fullAmount, $saleableItem, $context);
62 $adjust = $fullAmount -
$baseAmount - $previousAdjustments;
64 $adjustments[
$code] = $adjust;
66 }
elseif ($adjustment->isIncludedInDisplayPrice($saleableItem)) {
70 $newAmount = $adjustment->applyAdjustment($fullAmount, $saleableItem, $context);
71 $adjust = $newAmount - $fullAmount;
72 $adjustments[
$code] = $adjust;
73 $fullAmount = $newAmount;
74 $previousAdjustments += $adjust;
78 return $this->amountFactory->create($fullAmount, $adjustments);
elseif(isset( $params[ 'redirect_parent']))
getAmount($amount, SaleableInterface $saleableItem, $exclude=null, $context=[])
__construct(AmountFactory $amountFactory)