الانتقال إلى المحتوى الرئيسي
معاينة زر إضافة إلى عربة التسوق زر إضافة إلى عربة التسوق متصل بـ Shopify لـ Framer يقرأ المتغير المحدد حاليًا من URL، ويضيفه إلى عربة التسوق في localStorage، ويعرض اختياريًا إشعار تنبيه يؤكد الإجراء.

ما الذي يفعله

زر إضافة إلى عربة التسوق هو زر منسق ومتحرك يتعامل مع عملية إضافة المنتج إلى عربة التسوق بالكامل. يقرأ المتغير النشط من URL، ويجد تفاصيله من بيانات المتغيرات، ويكتب العنصر في عربة التسوق بـ localStorage — مع زيادة الكمية إذا كان العنصر موجودًا بالفعل في العربة. السلوكيات الرئيسية:
  • يقرأ المتغير النشط من URL — عند النقر، يقرأ معامل URL ‏?variant= لتحديد المتغير المراد إضافته. يتحدث تلقائيًا عند تغيير URL (مثل عند تبديل المستخدم للمتغيرات).
  • يضيف أو يزيد — إذا كان المتغير موجودًا بالفعل في العربة، تزيد كميته بمقدار 1. إذا كان جديدًا، يُضاف كإدخال جديد في العربة بكمية 1.
  • يكتب في localStorage — يحفظ العربة المحدَّثة في localStorage تحت المفتاح cart ويطلق حدث cartUpdated لإبقاء جميع مكونات عربة التسوق الأخرى متزامنة.
  • إشعار التنبيه — يعرض اختياريًا تنبيهًا عائمًا مع صورة المنتج والعنوان واسم المتغير بعد الإضافة الناجحة. موضع التنبيه والإزاحة قابلان للتخصيص بالكامل.
  • حالة التحميل — أثناء إضافة العنصر، يعرض الزر نص تحميل قابل للتخصيص ويُعطَّل مؤقتًا لمنع النقر المزدوج.
  • زر متحرك — يتضمن تصغيرًا خفيفًا عند اللمس وانتقال نصف قطر الحدود عند التحويم عبر Framer Motion.

ضوابط الخصائص

جميع الضوابط متاحة في لوحة Framer اليمنى عند تحديد المكون. تُجمَّع في سبعة أقسام: Store ID، Product ID، Product Title، Variants، Image URLs، Texts، Styles، وToast Layout.

Store ID

الخاصيةالنوعالوصف
Store IDنصمعرّف متجر Shopify. اربط هذا بمتغير Store ID من Framer CMS. يُستخدم لحساب السعر الإجمالي.

Product ID

الخاصيةالنوعالوصف
Product IDنصمعرّف منتج Shopify. اربط هذا بمتغير Product ID من Framer CMS. مطلوب لتعريف عنصر عربة التسوق بشكل صحيح.

Product Title

الخاصيةالنوعالوصف
Product Titleنصاسم المنتج. اربط هذا بمتغير Title من Framer CMS. يُستخدم كعنوان عنصر عربة التسوق وفي إشعار التنبيه.

Variants (CMS)

الخاصيةالنوعالوصف
Variantsنص (JSON)مصفوفة JSON من جميع كائنات المتغيرات لهذا المنتج. اربط هذا بمتغير Variants من Framer CMS. يُستخدم للبحث عن السعر والعنوان والخيارات المحددة والصورة للمتغير النشط.

Image URLs (CMS)

الخاصيةالنوعالوصف
Image URLsنص (JSON)مصفوفة JSON من كائنات روابط صور المنتج. اربط هذا بمتغير Image URLs من Framer CMS. يُستخدم كصورة احتياطية عندما لا يكون للمتغير المحدد صورة خاصة به.

Texts

الخاصيةالنوعالافتراضيالوصف
Button TextنصAdd to cartالتسمية المعروضة على الزر في حالته الافتراضية.
Loading TextنصAddingالتسمية المعروضة على الزر أثناء إضافة العنصر إلى عربة التسوق.

Styles

يتحكم في المظهر البصري للزر.
الخاصيةالنوعالافتراضيالوصف
Fontخط16pxالطباعة لتسمية الزر.
Paddingحشو12pxالمسافة الداخلية للزر.
Background Colorلون#000000لون خلفية الزر.
Text Colorلون#ffffffلون نص تسمية الزر.
Border Radiusنصف القطر12pxاستدارة زوايا الزر.
Borderحدود1px solid rgba(0,0,0,0.5)نمط حدود الزر.
Box Shadowظل0px 1px 2px 0px rgba(0,0,0,0.25)الظل المطبق على الزر.

Toast Layout

يتحكم في إشعار التأكيد المعروض بعد إضافة عنصر إلى عربة التسوق.
الخاصيةالنوعالافتراضيالوصف
Enable Toastمنطقيtrueتفعيل أو تعطيل إشعار التنبيه.
Toast PositionقائمةTop Centerموضع ظهور التنبيه على الشاشة. الخيارات: Top Center، Top Left، Top Right، Bottom Left، Bottom Center، Bottom Right.
Offset — ضبط دقيق لموضع التنبيه نسبة إلى حواف الشاشة:
الخاصيةالنوعالافتراضيالوصف
Topرقم (بكسل)64المسافة من أعلى الشاشة.
Rightرقم (بكسل)64المسافة من يمين الشاشة.
Bottomرقم (بكسل)64المسافة من أسفل الشاشة.
Leftرقم (بكسل)64المسافة من يسار الشاشة.

ملاحظات

  • لا يفعل الزر شيئًا إذا لم يُعيَّن Product ID — احرص دائمًا على ربطه من CMS.
  • يُقرأ المتغير النشط من معامل URL ‏?variant=. إذا لم يكن هناك متغير محدد عند النقر على الزر، فسيكون selectedVariant فارغًا وسيفشل البحث عن المتغير بصمت. تأكد من وجود محدد متغير في نفس الصفحة.
  • عنصر عربة التسوق المكتوب في localStorage يتضمن: productId، variantId، title، variantTitle، price، quantity، selectedOptions، وimage.
  • بعد كل إضافة، يُطلَق حدث cartUpdated على window، مما يُبقي عداد عناصر عربة التسوق ومتحكم حالة عربة التسوق وقائمة منتجات عربة التسوق والسعر الإجمالي لعربة التسوق متزامنة تلقائيًا.
  • يُعرض إشعار التنبيه باستخدام مكتبة Sonner ويُظهر صورة المنتج والعنوان واسم المتغير.