ستساعدك المقالة التالية: كيفية جعل رقم طلب الشراء اختياريًا في Magento 2
أمر الشراء (PO) هو إحدى طرق الدفع في Magento 2 التي تسمح للعملاء التجاريين بالدفع مقابل المشتريات المصرح بها من خلال الرجوع إلى رقم أمر الشراء.
عادة ما يتم تطبيق طريقة الدفع هذه لطلبات البيع بالجملة. من أجل تكوين أمر الشراء ، يتعين علينا تعيين “نعم” في الخيار “ممكّن” في قسم “طلب الشراء” من المتاجر> الإعدادات> التكوين> المبيعات.
بعد تطبيق التكوين الخاص بأمر الشراء ، يتم عرضه في صفحة الخروج أثناء إكمال طريقة الدفع كما هو موضح في الصورة أدناه.
في معظم الحالات ، تضع الوكالات أو أي شركة أخرى طلبات البيع بالجملة في المتجر. في حالة توفر الطلب المطلوب ، يمكن لمالك المتجر شحن هذا المنتج إلى العميل ، ولكن ماذا لو كانت المنتجات المطلوبة غير متوفرة؟ في هذا السيناريو ، يسجل العميل اسمه ، والمخزونات المطلوبة ، ويدفع المبلغ الإجمالي أو نصف المبلغ المقرر.
يحصل العميل على رقم طلب الشراء ، ولكن ماذا لو لم يكن لدى العميل رقم أمر الشراء وما زال يرغب في شراء المنتج؟
في السلوك الافتراضي لـ Magento 2 ، لن يسمح بوضع أمر بدون أمر شراء لأنه حقل مطلوب. استخدم الكود أدناه و
خطوات جعل رقم طلب الشراء اختياريًا في Magento 2
- انسخ الملف أدناه
vendor / magento / module-offline-payments / view / frontend / web / template / payment / Purchaseorder-form.html
vendor / magento / module-offline-payments / view / frontend / web / template / payment / Purchaseorder-form.html
ل
التطبيق / التصميم / الواجهة /[Vendor]/[Theme]/Magento_OfflinePayments/web/template/payment/purchaseorder-form.html
التطبيق / التصميم / الواجهة /[Vendor]/[Theme]/Magento_OfflinePayments/web/template/payment/purchaseorder-form.html
إذا كان ملف Purchaseorder-form.html موجودًا بالفعل ، فقم بتحرير هذا الملف.
- ابحث عن الكود أدناه في ملف Purchaseorder-form.html.
<نوع الإدخال = "نص"
معرف = “po_number”
name = “الدفع[po_number]”
التحقق من صحة البيانات = “{مطلوب: صحيح}”
ربط البيانات = ‘
attr: {title: $ t (“رقم طلب الشراء”)}،
value: purchaseOrderNumber ‘
class = “input-text” />
- استبدل الكود أعلاه بـ
<نوع الإدخال = "نص"
معرف = “po_number”
name = “الدفع[po_number]”
ربط البيانات = ‘
attr: {title: $ t (“رقم طلب الشراء”)}،
value: purchaseOrderNumber ‘
class = “input-text” />
- استخدم الكود أدناه في ملف البرنامج المساعد للوحدة المخصصة الخاصة بك di.xml في التطبيق / الكود /[Vendor]/[Module]/إلخ
<؟ xml version = "1.0"؟>
<اسم المكون الإضافي =" purchase_order_validate "type =" Vendor \ Module \ Plugin \ Model \ Purchaseorder "/> <؟ xml version = "1.0"؟>
xsi: noNamespaceSchemaLocation = “urn: magento: framework: ObjectManager / etc / config.xsd”>
<اسم المكون الإضافي = "purchase_order_validate" type = "Vendor \ Module \ Plugin \ Model \ Purchaseorder" />
- يخلق Purchaseorder.php ملف في التطبيق / الكود /[Vendor]/[Module]/ البرنامج المساعد / النموذج
<؟ php namespace [Vendor]\[Module]\ البرنامج المساعد \ نموذج. class Purchaseorder {public function aroundvalidate ($ subject، $ continue) {// check PoNumber فارغ أم لا إذا (فارغ ($ subject-> getInfoInstance () -> getPoNumber ())) {return $ this؛ } إرجاع هذا $؛ }}
<؟ php
مساحة الاسم [Vendor]\[Module]\ البرنامج المساعد \ نموذج.
طلب شراء فئة
{
الوظيفة العامة aroundvalidate ($ subject، $ continue)
{
// تحقق من PoNumber فارغًا أم لا
إذا (فارغ ($ subject-> getInfoInstance () -> getPoNumber ())) {
إرجاع $ هذا ؛
}
إرجاع $ هذا ؛
}
}
بعد تطبيق الكود أعلاه ، يمكن للمرء تقديم طلب دون إدخال أمر شراء.
هذا كل شيء.
إذا كانت لديك استفسارات بخصوص هذه المدونة ، فلا تتردد في طرحها في قسم التعليقات أدناه.
اقرأ أيضًا: كيفية تكوين ملحق رقم الطلب المخصص لـ Magento 2
سأكون سعيدا للإجابة على سؤالك.
لا تفكر في مشاركة هذا المنشور مع Magento Community عبر وسائل التواصل الاجتماعي.
شكرًا لك.