قم بإجراء increment_id لمزامنة الطلب مع النظام الخارجي

magento.stackexchange https://magento.stackexchange.com//questions/41688

سؤال

نحن نقوم بدمج Magento مع النظام الحالي.نظامنا الحالي يحتوي بالفعل على أرقام الطلب.لقد كان هناك الكثير من الارتباك نظرًا لأن Magento لديه أرقام طلبات خاصة به، ونظامنا الحالي له أرقام طلبات مختلفة، لذلك نحاول جعل أرقام الطلبات متطابقة.

لدي مراقب تم إعداده لـ sales_order_place_after حيث أحصل على رقم الطلب من نظامنا الحالي.يبدو أنه لا يعمل مع $order->setIncrementId($our_existing_order_id) لا أعرف ما إذا كانت هذه فكرة جيدة حقًا على أي حال..

حقًا، الهدف النهائي الذي نريده هو رقم الطلب الموجود في إيصالات البريد الإلكتروني التي يتم إرسالها لمطابقة رقم الطلب في أنظمتنا الحالية.هل هناك طريقة أفضل لتحقيق ذلك؟

هل كانت مفيدة؟

المحلول

ما أوصي به هو إنشاء حقل جديد في Sales_Flat_order لتخزين هذا المعرف ثم تحديث القالب المختلفة حسب الحاجة لعرض هذا الرقم.بهذه الطريقة سيكون لديك مسار ترقية نظيف في المستقبل

نصائح أخرى

يتمثل أحد الحلول في إنشاء نموذج كيان eav الخاص بك.إذا نظرت في eav_entity_type الجدول في العمود increment_model ترى أن هناك مسارًا دراسيًا هناك.استبدلها بنموذجك المخصص، على سبيل المثال [module]/entity_increment_erp

class [Namespace]_[Model]_Model_Entity_Increment_Erp extends Mage_Eav_Model_Entity_Increment_Abstract
{
    public function getNextId()
    {
        /**
        * your custom code to generate the increment ID, 
        * as long as it is unique
        */

        return $id;
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top