कुछ शर्त सक्रिय होने पर ऑर्डर पूरा होने तक एक लेख जोड़े जाने पर मुझे शिपिंग लागत को पूरा करने की आवश्यकता होती है। मैंने पहले ही निम्नलिखित घटनाओं की सदस्यता लेने का प्रयास किया है:
'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 में शिपिंग लागत को पूरा करने का कोई तरीका है?
संपादित करें: आदर्श रूप से यह भी बहुत अच्छा होगा यदि परिवर्तन सीधे डेटाबेस में संग्रहीत किए जाते हैं, इसलिए ऑर्डर पर कोई और हेरफेर सही गोल मानों को दिखाता/अपडेट करता है।
1 उत्तर
किसी को भी देखने के लिए, मैंने फ़्रंटएंड_चेकआउट ईवेंट सब्सक्राइबर में टेम्प्लेट वैरिएबल को बदलना समाप्त कर दिया और इसे Shopware_Modules_Order_SaveOrder_FilterParams
पर डेटाबेस में मान बदलने दिया। आशा है कि यह किसी की मदद करता है। मुझे यह पता लगाने में थोड़ा समय लगा। इस हुक sOrder::getOrderById::after
की बिल्कुल भी जरूरत नहीं थी, और न ही यह काम कर रहा है।
संबंधित सवाल
नए सवाल
doctrine-orm
सिद्धांत ORM एक PHP ORM है। जबकि Doctrine 1.2 सक्रिय रिकॉर्ड पैटर्न का उपयोग करता है, Doctrine ORM 2 और ऊपर डेटा मैपर पैटर्न का उपयोग करता है। डॉक्ट्रिन परियोजना ओपन सोर्स लाइब्रेरी और PHP में लिखे गए डेटाबेस एब्स्ट्रैक्शन और ऑब्जेक्ट-रिलेशनल मैपिंग से निपटने के लिए टूल्स का एक संग्रह है।