맞춤 할인을 추가할 때 Shopware 관리자 패널에서 주문을 편집할 때 문제가 발생합니다.
P粉811349112
P粉811349112 2023-09-01 17:30:17
0
1
910
<p>문서 https://developer.shopware.com/docs/guides/plugins/plugins/checkout/cart/add-cart-discounts에 따라 맞춤 장바구니 할인을 작성했습니다. 모든 것이 잘 작동합니다. 고객이 장바구니에 제품을 추가하거나 제거하면 할인이 다시 계산되지만 관리자 패널에서 이 주문을 편집하려고 하면 다음 오류가 발생합니다. </p> <인용문> <p>잡히지 않은 PHP 예외 ShopwareCoreCheckoutCartExceptionLineItemNotStackableException: "식별자가 'CHEAPEST_ITEM_CART_DISCOUNT'인 품목은 쌓을 수 없으며 /var/www/shop/vendor/shopware/core/Checkout/Cart/LineItem/ LineItem에서 수량을 변경할 수 없습니다." .php line 233 {"예외": "[객체](Shopware Core Checkout 장바구니 예외 LineItemNotStackableException(코드: 0): 식별자가 "CHEAPEST_ITEM_CART_DISCOUNT"인 품목은 쌓을 수 없으며 수량을 변경할 수 없습니다. /var/www/shop/vendor/shopware/core/Checkout/Cart/LineItem/LineItem.php:233)"} []</p> </인용문> <p>저는 다음 검사를 코드에 추가하여 이 문제를 '해결'했습니다. </p> <pre class="brush:php;toolbar:false;">if($behavior->hasPermission(self::SKIP_PROMOTION)){ $items = $original->getLineItems()->filterType(self::LINE_ITEM_TYPE); foreach ($item을 $item으로) { $toCalculate->add($item); } 반품; }</pre> <p>이제 관리자 패널에서 주문을 수정하면 오류가 표시되지 않지만 할인이 다시 계산되지 않으며 '자동 프로모션 비활성화' 전환이 작동하지 않습니다. </p> <p>편집 작업 시 맞춤 할인을 순차적으로 다시 계산하는 솔루션이 있나요? 관리자 패널에 새 주문을 추가하면 모든 것이 잘 작동하지만 문제는 편집에만 있습니다. 문서에는 이에 대해 아무 말도하지 않습니다. </p>
P粉811349112
P粉811349112

모든 응답(1)
P粉710454910

참조 식별자로 할인이 장바구니에 추가되었는지 확인하세요. 그렇다면 장바구니에서 이전 인스턴스를 제거하고 다시 계산된 할인을 추가하면 됩니다.

으아악

또한 Shopware 자체 PromotionProcessor 이후 프로세서가 실행되는지 확인해야 합니다. 그렇지 않으면 이전에 수동으로 추가한 할인을 다시 추가하려고 시도합니다.

으아악

저는 재계산에 필요한 가이드의 모든 변경 사항이 포함된 샘플 플러그인을 만들었습니다. 현재 출시 후보 . 6.5 上进行了测试,但也应该适用于最新版本的 6.4

이 예는 장바구니 가격의 백분율로 나타낸 할인을 기반으로 합니다. 할인이 변경의 절대값이어야 하는 경우 프로세스가 약간 다릅니다. 위 저장소에

포크를 만들고 예제를 제공했습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿