الأخبار التكنولوجية والاستعراضات والنصائح!

كيفية تمكين / تعطيل طريقة الشحن برمجيًا في Magento 2

ستساعدك المقالة التالية: كيفية تمكين / تعطيل طريقة الشحن برمجيًا في Magento 2

يتطلع المتسوقون عبر الإنترنت إلى رسوم الشحن وغالبًا ما تصبح نقطة اتخاذ قرار الشراء.

ومن ثم ، يحتاج أصحاب متاجر التجارة الإلكترونية إلى تحديد نظام الشحن بشكل استراتيجي بحيث لا يشعر العملاء بخيبة أمل ولا يضطر العمل إلى تكبد أي خسارة.

في Magento 2 الافتراضي ، يمكن للمسؤول تمكين أو تعطيل طريقة الشحن من الخلفية.

ومع ذلك ، إذا أراد المرء استنادًا إلى شروط محددة ، فاتبع الحل أدناه.

على سبيل المثال ، تريد تمكين طريقة الشحن المجاني للحد الأدنى لإجمالي سلة التسوق وما فوق. أو تريد تمكين خدمة شحن معينة لمناطق أو ولايات ثابتة فقط.

إذا استوفت طلبات العميل هذا الشرط ، فيجب تمكين أو تعطيل طريقة الشحن فقط.

يمكن القيام بذلك باستخدام الحل البرمجي في هذا المنشور. أو قد تفضل تمديد قيود الشحن في Magento 2 لتقييد طرق الشحن بناءً على سلة التسوق وسمات العميل والرموز البريدية وأيام الأسبوع!

خطوات لتمكين / تعطيل طريقة الشحن برمجيًا في Magento 2

  1. قم بإنشاء مكون إضافي di.xml ملف واستخدام هذا الرمز أدناه.

    <تم تعطيل المكون الإضافي = "false" name = "Vendor_Extension_Model_Shipping" sortOrder = "10" type = "Vendor \ Extension \ Plugin \ ApplyShipping" />

    <تم تعطيل المكون الإضافي = "false" name = "Vendor_Extension_Model_Shipping" sortOrder = "10"

    اكتب = “البائع \ الامتداد \ البرنامج المساعد \ تطبيق الشحن” />

  2. قم بإنشاء ملف مكون إضافي بتنسيق البائع / الامتداد / البرنامج المساعد.

    <؟ php namespace Vendor \ Extension \ Plugin؛ class ApplyShipping {public function __construct () {} public function aroundCollectCarrierRates (\ Magento \ Shipping \ Model \ Shipping $ subject، \ Closure $ continue، $ carrierCode، $ request) {// أدخل رمز الشحن هنا بدلاً من "freeshipping" إذا ( $ carrierCode == 'freeshipping') {// لتعطيل طريقة الشحن ، قم بإرجاع خطأ إرجاع كاذب ؛ } // لتمكين طريقة الشحن ، قم بإرجاع $ceed ($ carrierCode، $ request)؛ }}

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    <؟ php

    مورد مساحة الاسم \ ملحق \ البرنامج المساعد ؛

    فئة تطبيقالشحن

    {

    الوظيفة العامة __construct ()

    {

    }

    الوظيفة العامة aroundCollectCarrierRates (

    \ ماجنتو \ الشحن \ الموديل \ الشحن $ الموضوع ،

    \ إغلاق $ تابع ،

    $ carrierCode ،

    طلب $

    )

    {

    // أدخل رمز الشحن هنا بدلاً من “الشحن المجاني”

    إذا ($ carrierCode == ‘freeshipping’) {

    // لتعطيل طريقة الشحن ، قم بإرجاع خطأ

    عودة كاذبة؛

    }

    // لتمكين طريقة الشحن

    إرجاع $ continue ($ carrierCode، $ request)؛

    }

    }

    سيتم تعطيل طريقة الشحن إذا تم تحديد الشحن المجاني وتمكين آخر.

    هذا كل شيء!

    يمكن ذكر أي شكوك حول الحل في قسم التعليقات أدناه. يسعدني تقديم المساعدة.

    لا تتردد في مشاركة الحل مع مجتمع Magento 2 عبر وسائل التواصل الاجتماعي.

    شكرًا لك.

تقييد طرق الشحن بناءً على قيمة سلة التسوق والرموز البريدية ويوم الأسبوع والسمات الأخرى باستخدام قيود الشحن.