カスタム割引を追加する際に Shopware 管理パネルで注文を編集する際の問題
<p>ドキュメントに従ってカスタム ショッピング カートの割引を作成しました https://developer.shopware.com/docs/guides/plugins/plugins/checkout/cart/add-cart-discounts
すべて正常に動作します。顧客がカートに商品を追加または削除すると、割引が再計算されますが、管理パネルでこの注文を編集しようとすると、次のエラーが表示されます: </p>
<ブロック引用>
<p> キャッチされない PHP 例外 Shopware\Core\Checkout\Cart\Exception\LineItemNotStackableException: 「識別子 'CHEAPEST_ITEM_CART_DISCOUNT' の品目はスタック可能ではないため、数量を変更できません。」 /var/www/shop/vendor/ shopware /core/Checkout/Cart/LineItem/LineItem.php 行 233 {"例外": "[オブジェクト](Shopware\Core\Checkout\Cart\Exception
LineItemNotStackableException (コード: 0): 識別子「CHEAPEST_ITEM_CART_DISCOUNT」の品目は積み重ねることができないため、数量を変更できません。 /var/www/shop/vendor/shopware/core/Checkout/Cart/LineItem/LineItem.php:233)"} []</p>
</blockquote>
<p>このチェックをコードに追加することで、この問題を「解決」しました。</p>
<pre class="brush:php;toolbar:false;">if($behavior->hasPermission(self::SKIP_PROMOTION)){
$items = $original->getLineItems()->filterType(self::LINE_ITEM_TYPE);
foreach ($items として $item) {
$toCalculate->add($item);
}
戻る;
}</pre>
<p>管理パネルで注文を編集すると、エラーは表示されませんが、割引は再計算されず、「自動プロモーションを無効にする」の切り替えも機能しません。 </p>
<p>編集操作時にカスタム割引を順番に再計算する解決策はありますか?
管理パネルに新しい注文を追加すると、すべてが正常に機能します。問題は編集時のみです。
ドキュメントにはこれについて何も記載されていません。 </p>