कुछ शर्त सक्रिय होने पर ऑर्डर पूरा होने तक एक लेख जोड़े जाने पर मुझे शिपिंग लागत को पूरा करने की आवश्यकता होती है। मैंने पहले ही निम्नलिखित घटनाओं की सदस्यता लेने का प्रयास किया है:

            'sOrder::getOrderById::after' => 'afterGetOrder',
            'Shopware_Modules_Order_SaveOrder_FilterParams' => 'filterOrderParams'

निम्नलिखित कार्यान्वयन के साथ:

    public function filterOrderParams(\Enlight_Event_EventArgs $args)
    {
        $return = $args->getReturn();
        $return['invoice_shipping'] = ceil($return['invoice_shipping']);
        $return['invoice_shipping_net'] = ceil($return['invoice_shipping_net']);

        $subject->sShippingcostsNumeric = ceil($subject->sShippingcostsNumeric);
        $subject->sShippingcostsNumericNet = ceil($subject->sShippingcostsNumericNet);
        $args->setReturn($return);
    }

    public function afterGetOrder(\Enlight_Hook_HookArgs $args)
    {
        if (!$this->checkIfActive()) {
            return;
        }

        $return = $args->getReturn();
        $return['invoice_shipping'] = ceil($return['invoice_shipping']);
        $return['invoice_shipping_net'] = ceil($return['invoice_shipping_net']);

        $args->setReturn($return);
    }

लेकिन काम होता नहीं दिख रहा है। मैंने भी कोशिश की

Shopware()->Modules()->Order()->sShippingcosts = ceil($sBasket['sShippingcosts']); लेकिन कुछ नहीं। मुझे पता है कि ऑर्डर सेव पर एक घटना है, जिसे मैं हुक कर सकता हूं और पैरामीटर बदल सकता हूं, लेकिन यह बहुत देर हो चुकी है क्योंकि कार्ट और चेकआउट में लागत को गोल नहीं किया जाएगा (आदेश पूरा होने तक नहीं)

तो क्या शॉपवेयर 5 में शिपिंग लागत को पूरा करने का कोई तरीका है?

संपादित करें: आदर्श रूप से यह भी बहुत अच्छा होगा यदि परिवर्तन सीधे डेटाबेस में संग्रहीत किए जाते हैं, इसलिए ऑर्डर पर कोई और हेरफेर सही गोल मानों को दिखाता/अपडेट करता है।

0
Huzaifa Mustafa 30 अप्रैल 2021, 13:53

1 उत्तर

सबसे बढ़िया उत्तर

किसी को भी देखने के लिए, मैंने फ़्रंटएंड_चेकआउट ईवेंट सब्सक्राइबर में टेम्प्लेट वैरिएबल को बदलना समाप्त कर दिया और इसे Shopware_Modules_Order_SaveOrder_FilterParams पर डेटाबेस में मान बदलने दिया। आशा है कि यह किसी की मदद करता है। मुझे यह पता लगाने में थोड़ा समय लगा। इस हुक sOrder::getOrderById::after की बिल्कुल भी जरूरत नहीं थी, और न ही यह काम कर रहा है।

0
Huzaifa 3 मई 2021, 06:27