window.aftersell.cart.actions.
تُنفَّذ الإجراءات بعد جاهزية السلة، داخل
ready() أو داخل معالج حدث.قبل تحميل السلة، تكون الإجراءات مجرد بدائل صورية (stubs). يسجّل كل منها تحذيرًا في وحدة التحكم يذكر اسم الإجراء، مثل
cart.actions.addItem() called before the cart loaded، ولا يفعل شيئًا. الإجراءات غير المتزامنة تظل تُرجع Promise يُحل، لذا تعمل سلسلة .then() بشكل طبيعي بدلًا من رمي خطأ؛ وتُرجع getCart() القيمة null وتُرجع formatMoney() سلسلة فارغة.لا يتعطل شيء إذا استدعيت إجراءً مبكرًا جدًا، لكن لا يحدث شيء أيضًا. راقب وحدة التحكم بحثًا عن ذلك التحذير عندما يبدو أن إجراءً لا يفعل شيئًا.كل الإجراءات
الدرج
open وclose
القراءة
getCart()
null قبل تحميلها. النتيجة نسخة، لذا فإن تعديلها لن يغيّر السلة الحقيقية.
getCart() زائدًا هناك.
formatMoney(cents)
configure({ money_format }).
تغيير السلة
تحدد إجراءات البنود البند عبر
key الخاص بـ Shopify، وليس عبر معرّف المتغير، لأن السلة يمكن أن تحتوي على المتغير نفسه في عدة بنود بخصائص مختلفة. اقرأه من getCart().items[n].key.addItem(variantId, quantity?)
quantity هي 1. يُحل بعد استقرار السلة.
removeItem(key)
updateItemQuantity(key, quantity)
0 يزيل البند.
cart_updated لأن فحص > 1 يكون خاطئًا في التمريرة الثانية. راجع القاعدتين.
replaceLineVariant(key, variantId)
key جديد ويستقر في نهاية السلة. أعد قراءة getCart() بعد ذلك بدلًا من إعادة استخدام المفتاح الذي مررته.
إعادة التحميل
refresh()
visualRefresh()
ملاحظات وحالات حدّية
- تُحل الإجراءات غير المتزامنة عند استقرار التغيير. انتظار أحدها يتيح لك ترتيب العمل بعد أن تكون السلة قد تحدّثت فعلًا.
- يُرجع
getCart()نسخة. تعديلها لا يؤثر على السلة الحقيقية. - لا يوجد إجراء لأكواد الخصم. الأكواد المطبَّقة قابلة للقراءة على السلة (
discountCodesوtotalDiscount) وعلى مستوى البند (discountAllocations)؛ ويطبّقها المتسوقون عبر بلوك Discount code. - لا يوجد إجراء لسمات السلة أو الملاحظات. السمات قابلة للقراءة على كائن السلة؛ ويكتب المتسوقون الملاحظات عبر بلوك Notes.
- لإخفاء بند بدلًا من إزالته، استخدم
registerLineTransform. الإزالة تغيّر إجمالي المتسوق؛ أما الإخفاء فلا.
إلى أين تذهب بعد ذلك
- كائن السلة: ما الذي يعيده
getCart(). - الأحداث: متى تنفّذ هذه الإجراءات.
- الخطافات: غيّر كيفية عرض البند بدلًا من تغيير السلة.
- حالات الاستخدام: حلول كاملة للطلبات الشائعة.