window.aftersell.cart.events.
الاشتراك هو استدعاء إعداد، لذا فهو آمن في أعلى سكربتك، دون حاجة لانتظار ready().
الأحداث المتاحة
الاشتراك
events.on(event, handler) معالجًا ويُرجع دالة تلغي اشتراكه:
events.once(event, handler): يعمل مرة واحدة، ثم يلغي اشتراكه بنفسه.events.off(event, handler): يزيل معالجًا محددًا.
القاعدتان
لا تغيّر السلة من cart_updated دون حارس
cart_updated يطلق cart_updated مرة أخرى. وإذا غيّر ذلك المعالج السلة مجددًا، فلديك حلقة لا نهائية. سيشاهد المتسوق سلته تضطرب بينما تقصف الصفحة Shopify بالطلبات.
تعامل مع الحمولة على أنها للقراءة فقط
registerLineTransform.
cart_loaded
cart_loaded للمشتركين المتأخرين. إذا اشتركت بعد تحميل السلة بالفعل، يُستدعى معالجك فورًا بالسلة الحالية. ترتيب الاشتراك لا يهم أبدًا، لذا لا داعي للقلق مما إذا كان سكربتك قد سبق السلة.
cart_updated
item_added
{ item }، حيث item هو بند السلة.
cart_loaded. إضافة عدة منتجات مختلفة دفعة واحدة تطلق الحدث مرة لكل بند.
item_removed
{ item }، وهي البند كما كان قبل اختفائه مباشرةً، لذا لا يزال بإمكانك قراءة key وvariantId وtitle الخاصة به.
item_added: خفض الكمية دون بلوغ الصفر ليس إزالة.
cart_opened وcart_closed
checkout
الاستماع من خارج SDK
CustomEvent من DOM على window، لذا يمكنك الاستماع دون لمس window.aftersell.cart. هذا مفيد من ملف قالب أو تطبيق تابع لطرف ثالث أو سكربت يُحمَّل مستقلًا عن السلة.
انتبه للتسمية: يستخدم الناقل
snake_case، بينما تستخدم أحداث DOM صيغة kebab-case خلف البادئة aftersell:cart:.
event.detail وتطابق كائن السلة. تُبثّ الأحداث على window، لذا يستقبلها مستمع في أي مكان على الصفحة. تُعرض السلة داخل shadow root، لكن حد الظل لا يقع أبدًا في مسار الحدث. كل بثّ يستنسخ الحمولة، لذا فإن مستمعًا يعدّل event.detail لا يمكن أن يؤثر على أي طرف آخر، ومستمعًا يرمي خطأً لا يمكن أن يعطّل SDK.
أحداث سلة Shopify القياسية
document كلما غيّرت السلة، بحيث يستطيع كود القالب والتطبيقات الأخرى التفاعل مع تعديلات Aftersell بالطريقة نفسها التي تتفاعل بها مع تعديلات القالب:
يحمل كل حدث أيضًا
promise يسوّيه Aftersell عند اكتمال عملية الكتابة الأساسية، بما يطابق معيار Shopify — انتظره بـ await ولا تحلّه بنفسك. تُبثّ هذه الأحداث على document وتتصاعد، لذا يستقبلها مستمع على window أيضًا.
إلى أين تذهب بعد ذلك
- كائن السلة: الشكل الكامل للحمولات أعلاه.
- الإجراءات: كيفية تغيير السلة من داخل معالج.
- الخطافات: لتغيير كيفية عرض السلة، بدلًا من التفاعل معها.
- حالات الاستخدام: تتبّع التحليلات والهدايا المجانية وأمثلة كاملة أخرى.