Skip to main content
أخفِ الأسطر التي لا ينبغي للمتسوق رؤيتها، وأعد تسمية الأسطر التي تُقرأ بشكل سيئ، وتحكّم في ترتيب عرض كل شيء، كل ذلك دون المساس بما هو موجود فعليًا في السلة. هذا يحل محل النمط القديم لإخفاء عناصر السلة باستخدام CSS أو style.display = 'none'. يُطبَّق محوّل السطر في كل مرة تُعرض فيها السلة، لذا يصمد أمام التحديثات وإعادة العرض وإعادة فتح الدُرج.

إخفاء سطر

الإخفاء ليس إزالة. السطر المخفي يبقى في سلة المتسوق، ويبقى في الإجمالي، ويصل إلى الدفع؛ إنه فقط لا يُرسم في الدُرج. لكنه يخرج من getCart().items ومن itemCount، لذا تتوقف تعليماتك البرمجية عن رؤيته أيضًا. إذا أردت إزالته فعليًا، استخدم removeItem.
أشياء شائعة تستحق الإخفاء:

إعادة تسمية سطر

المُعدِّلات الأربعة المتاحة على السطر:

التحكم في الترتيب

يأخذ المقارِن نفس الشكل الذي تتوقعه Array.prototype.sort، ويعمل بعد الإخفاء وإعادة التسمية:
أعد 0 للأزواج التي لا تهمك. تتراكب المقارِنات كفواصل تعادل، بحيث يقرر أول من يعيد قيمة غير صفرية مصير ذلك الزوج، بينما إعادة 0 تسلّم القرار إلى المقارِن التالي بدلًا من فرض ترتيب عليه.

إخفاء كتلة كاملة، وليس سطرًا

يعمل محوّل السطر على أسطر السلة. لعرض إعدادات كتلة مختلفة حسب الدولة أو السوق أو العملة (مثلًا مستويات Rewards مختلفة)، استخدم الشروط في محرر السلة. لا حاجة إلى تعليمات برمجية، وهي تصمد أمام إعادة تصميم السلة. إجمالي السلة ومحتوياتها ليسا من أنواع شروط المحرر. الجأ إلى SDK عندما تكون قاعدتك شيئًا لا تستطيع الشروط التعبير عنه (معرّفات المنتجات في السلة، إجمالي مخصص، وما إلى ذلك). في تلك الحالة، استعلم عن الجذر الظلي بحثًا عن فئة cart-external-* عامة:
يعمل هذا بعد كل عرض، لذا قد تومض الكتلة وتظهر قبل أن تخفيها تعليماتك البرمجية. العرض الشرطي لا يعاني من تلك المشكلة، لذا فضّله حيثما كان مناسبًا.

أمور يجب ضبطها بشكل صحيح

  • المحوّلات هي استدعاءات إعداد. سجّلها في أعلى نص Initialization البرمجي؛ لا حاجة إلى ready().
  • محوّلات الجميع تعمل. يتراكب محوّلك مع أي محوّلات سجّلتها تطبيقات أخرى. لا يمكنك استبدال محوّلاتهم، ولا يمكنهم إسقاط محوّلك.
  • لا يستطيع المحوّل تغيير السعر أو الكمية أو الهوية. فهو يغيّر ما يُعرض فقط. استخدم الإجراءات للتغييرات الحقيقية.
  • المحوّل الذي يُلقي خطأً يُتخطى بصمت. والبقية تستمر في العمل. تحقق من aftersellCartDebugEvents أثناء التطوير.
  • تعيد registerLineTransform دالة إلغاء تسجيل، إذا احتجت إلى التراجع عنه لاحقًا.

إلى أين تذهب بعد ذلك