LNK التعبئة والحد الأدنى للطلب، البيع بالدفعة وحد أدنى للطلب لكل مجموعة عملاء
تخرج قوارير الزيت لديك في كرتونات من 6، والصابون بالاثني عشر، ويجب أن يطلب عملاؤك المهنيون 300 € دون الضريبة على الأقل. لا يستطيع PrestaShop فعل أي من ذلك لكل عميل. وتفعله LNK التعبئة والحد الأدنى للطلب بما يعرفه PrestaShop أصلًا: السلة، ورسالة الحد الأدنى، وإتمام الطلب الذي يبقى مغلقًا.
- الإصدار 1.1.1 · PrestaShop من 1.7.6 إلى 8.x
- الإصدار 1.9.1 · PrestaShop 9
- PrestaShop من 1.7.6 إلى 9.x
- PHP من 7.1 إلى 8.4
- بدون تعديل على النواة
لقطات الشاشة
النقاط الرئيسية
- تعبئة لكل منتج أو لكل تركيبة أو لكل فئة.
- تقريب الكمية إلى المضاعف الأعلى: صفحة المنتج، العرض السريع، السلة.
- إتمام الطلب مغلق أمام سلة خارج التعبئة.
- «يُباع بالستة» وحقل الكمية بخطوة التعبئة.
- اسم وحدة اختياري: «يُباع في كرتونة من 6»، وسعر الكرتونة، و«2 كراتين» في السلة.
- تعمل مع LNK الأسعار المتدرجة: شرائح معبَّر عنها بالكراتين.
- حد أدنى للطلب دون الضريبة لكل مجموعة عملاء، برسالة PrestaShop.
- المبلغ المتبقي معروض في السلة.
- إعدادات المتجر لا تُغيَّر أبدًا.
- 0.4 كيلوبايت من CSS و1.1 كيلوبايت من JavaScript، فقط في صفحة المنتج والسلة.
- تعدد المتاجر: تعبئات وحدود دنيا لكل متجر.
- الفرنسية والإنجليزية والعربية (من اليمين إلى اليسار).
- PrestaShop من 1.7.6 إلى 9، دون override.
البيع بالستة، بالاثني عشر
ضع تعبئة على منتج، أو على تركيبة، أو على فئة كاملة. تُقرَّب الكمية المُدخلة إلى المضاعف الأعلى، في صفحة المنتج وفي العرض السريع وفي السلة، ولا يمكن أن يُرسل طلب بكمية خارج التعبئة. وتذكر صفحة المنتج «يُباع بالستة»، ويتقدّم حقل الكمية ستةً ستةً بأزرار القالب.
أعطِ الوحدة اسمًا إن شئت: «يُباع في كرتونة من 6» و«السعر لكل كرتونة: 53,40 € دون الضريبة» في صفحة المنتج، و«2 كراتين (12 وحدة)» في السلة. سعر الكرتونة هو سعر PrestaShop لهذا العميل مضروبًا في حجم التعبئة. ويبقى السعر لكل كيلو أو لتر سعرَ الوحدة الأصلي في PrestaShop.
الخادم هو من يطبّق القاعدة: الإضافة القادمة من طريق آخر (العرض السريع، القائمة، وحدة أخرى) تُعاد إلى التعبئة، ولا يُفتح إتمام الطلب على سلة خارج التعبئة.
حد أدنى للطلب لكل مجموعة عملاء
مبلغ دون الضريبة لكل مجموعة: 300 € للمهنيين، ولا شيء للمستهلكين. وما دام الحد الأدنى لم يُبلغ، تعرض السلة رسالة PrestaShop، ويبقى إتمام الطلب مغلقًا، ويذكر سطرٌ ما يتبقى لإضافته. وتحتفظ المجموعات الأخرى بالحد الأدنى للمتجر. ولا تغيّر الوحدة إعدادات متجرك.
لا شيء معقّد في لوحة الإدارة
مرجع وتعبئة، أو فئة وتعبئة؛ ومبلغ لكل مجموعة. وتعرض المعاينة إشعار صفحة المنتج وسطر السلة قبل الحفظ.
خفيفة وسريعة
أرقام مقيسة على الوحدة المُسلَّمة، مضغوطة (zlib، المستوى 9): 0.4 كيلوبايت من CSS و1.1 كيلوبايت من JavaScript، تُحمَّل فقط في صفحة المنتج والسلة. ودون JavaScript، تبقى القواعد مطبقة من جهة الخادم.
متوافقة مع PrestaShop 1.7.6 و8 و9
نسختان من الوحدة، واحدة لكل جيل: 1.1 لـ PrestaShop من 1.7.6 إلى 8.x، و1.9 لـ PrestaShop 9، مع صفحة إعدادات أصلية في كل لوحة إدارة، ضمن الكتالوج. القواعد مُتحقَّق منها على منصة الاختبار في 1.7.6 و8.1 و9.2. قالبا Classic وHummingbird دون أي إعداد. دون override، ودون أي استدعاء خارجي.
الأسئلة الشائعة
ماذا يحدث إذا أدخل العميل 7 لمنتج يُباع بالستة؟
تُقرَّب الكمية إلى المضاعف الأعلى: 12. في صفحة المنتج وفي العرض السريع وفي السلة، ويرى العميل الكمية الصحيحة فورًا. ويتقدّم حقل الكمية ستةً ستةً، وكذلك أزراره.
هل يستطيع العميل طلب كمية خارج التعبئة من طريق آخر؟
لا. تُطبَّق القاعدة من جهة الخادم، عند كل حفظ للسلة، أيًا كان طريق الإضافة (صفحة المنتج، القائمة، العرض السريع، وحدة أخرى). وعند مدخل إتمام الطلب، يُصحَّح السطر خارج التعبئة ويعود العميل إلى السلة مع رسالة.
هل يمكن وضع تعبئة مختلفة لكل تركيبة؟
نعم. تتقدّم تعبئة التركيبة على تعبئة منتجها. ويمكنك أيضًا وضع التعبئة نفسها على كل منتجات فئة.
كيف يعمل الحد الأدنى لكل مجموعة عملاء؟
تُدخل مبلغًا دون الضريبة لكل مجموعة. ولعميل من هذه المجموعة، تستعمل الوحدة الحد الأدنى الأصلي لـ PrestaShop بهذه القيمة، طوال الصفحة: تعرض السلة رسالة PrestaShop ويبقى إتمام الطلب مغلقًا. لا يُكتب شيء في إعدادات متجرك؛ وتحتفظ المجموعات الأخرى بحده الأدنى.
هل يُفحص الحد الأدنى عند الدفع؟
تغلق الوحدة إتمام الطلب، مثل الحد الأدنى الأصلي لـ PrestaShop. ولا تشمل وحدة دفع تُنشئ طلبًا دون المرور بإتمام الطلب، كما لا يشملها الحد الأدنى الأصلي.
كيف يعرف العميل ما يتبقى عليه طلبه؟
تعرض السلة رسالة PrestaShop، وتضيف الوحدة سطرًا: «الحد الأدنى للطلب لحسابك: 300.00 € دون الضريبة. يتبقى 120.00 € لإضافته.» ويمكن إخفاء هذا السطر.
هل يمكن البيع بالكرتونة أو المنصة أو الكيس؟
نعم. أعطِ وحدة البيع اسمًا مع حجم التعبئة: تعرض صفحة المنتج «يُباع في كرتونة من 6» و«السعر لكل كرتونة: 53,40 € دون الضريبة»، وتعرض السلة «2 كراتين (12 وحدة)». سعر الكرتونة هو حجم التعبئة مضروبًا في سعر الوحدة الذي يعطيه PrestaShop لهذا العميل لهذه الكمية (بما فيه سعر المجموعة والسعر المتدرج): لا تحسب الوحدة أي سعر. والاسم اختياري؛ ودونه لا يتغير شيء.
وماذا عن السعر لكل كيلو أو لكل لتر؟
هو سعر الوحدة الأصلي في PrestaShop (الكتالوج > المنتج > الأسعار > سعر الوحدة)، ويعرضه قالبك. ولا تمسّه الوحدة.
هل تعمل مع LNK الأسعار المتدرجة؟
نعم، دون أي إعداد. حين يكون للمنتج اسم وحدة، تعبّر الأسعار المتدرجة عن شرائحها بهذه الوحدة: «ابتداءً من 4 كراتين»، «167,52 € دون الضريبة للكرتونة». وتعمل كل وحدة بمفردها أيضًا.
هل يلزم JavaScript؟
ليس للقواعد: يطبّق الخادم التقريب والحد الأدنى. ولا يفعل السكربت إلا وضع حقل الكمية وأزراره بخطوة التعبئة.
هل تبطئ الوحدة متجري؟
لا. 0.4 كيلوبايت من CSS و1.1 كيلوبايت من JavaScript مضغوطة، تُحمَّل فقط في صفحة المنتج والسلة.
هل تعمل مع تعدد المتاجر؟
نعم. تُضبط التعبئات والحدود الدنيا متجرًا متجرًا؛ والمتجر الجديد يأخذ ما في المتجر المنسوخ، والمتجر المحذوف يأخذ ما لديه معه.
ماذا يبقى إذا ألغيت تثبيت الوحدة؟
لا شيء. ليس للوحدة override؛ يزيل إلغاء التثبيت جداولها الثلاثة وإعداداتها وتبويبها. ولم يُغيَّر الحد الأدنى للمتجر أبدًا.
سجل الإصدارات
-
الإصدار 1.9.1 PrestaShop 9
الجديد
- اسم وحدة البيع، اختياري، لكل منتج أو تركيبة أو فئة، بالفرنسية والإنجليزية والعربية: «يُباع في كرتونة من 6» في صفحة المنتج، مع «السعر لكل كرتونة: 53,40 € دون الضريبة» (حجم التعبئة مضروبًا في سعر الوحدة الذي يعطيه PrestaShop للعميل لهذه الكمية، دون الضريبة أو شاملها حسب مجموعته).
- سطر السلة «2 كراتين (12 وحدة)»؛ ودون جمع مكتوب، «2 × كرتونة (12 وحدة)».
- العقد lnk.packaging.unit/1: Lnk_Packaging::packagingUnit()، قراءة عامة لحجم التعبئة واسم الوحدة للوحدات الأخرى (تعبّر LNK الأسعار المتدرجة عن شرائحها بالكراتين).
الإصلاحات
- عقد القالب (docs/THEME-CONTRACT.md): في السلة، توجد أحجام العبوات في السمة data-lnk-packaging-steps للعنصر .lnk-packaging--cart بصيغة JSON مُهرَّبة. كانت الوثيقة لا تزال تصف نصًّا برمجيًّا بصيغة JSON.
-
الإصدار 1.9.0 PrestaShop 9
الجديد
- تعبئات لكل منتج أو لكل تركيبة (بالستة، بالاثني عشر): تُقرَّب الكمية المُدخلة إلى المضاعف الأعلى، في صفحة المنتج وفي العرض السريع وفي السلة، ولا يمكن أن يُرسل طلب بكمية خارج التعبئة.
- «يُباع بالستة» في صفحة المنتج؛ وحقل الكمية وزرّا الزيادة والنقصان في القالب بخطوة التعبئة.
- حد أدنى لمبلغ الطلب دون الضريبة لكل مجموعة عملاء: تعرض السلة رسالة PrestaShop ويبقى إتمام الطلب مغلقًا حتى بلوغه؛ وتحتفظ المجموعات الأخرى بالحد الأدنى للمتجر. لا يُكتب شيء في إعدادات المتجر.
- الإدخال في لوحة الإدارة بالمرجع أو لفئة كاملة؛ والحدود الدنيا لكل مجموعة؛ ومعاينة مباشرة؛ ضمن الكتالوج.
- عقد القالب lnk.packaging.qty/1؛ وتعدد المتاجر (بيانات لكل متجر، تُنسخ عند إنشاء متجر)؛ والفرنسية والإنجليزية والعربية.
-
الإصدار 1.1.1 PrestaShop من 1.7.6 إلى 8.x
الجديد
- اسم وحدة البيع، اختياري، لكل منتج أو تركيبة أو فئة، بالفرنسية والإنجليزية والعربية: «يُباع في كرتونة من 6» في صفحة المنتج، مع «السعر لكل كرتونة: 53,40 € دون الضريبة» (حجم التعبئة مضروبًا في سعر الوحدة الذي يعطيه PrestaShop للعميل لهذه الكمية، دون الضريبة أو شاملها حسب مجموعته).
- سطر السلة «2 كراتين (12 وحدة)»؛ ودون جمع مكتوب، «2 × كرتونة (12 وحدة)».
- العقد lnk.packaging.unit/1: Lnk_Packaging::packagingUnit()، قراءة عامة لحجم التعبئة واسم الوحدة للوحدات الأخرى (تعبّر LNK الأسعار المتدرجة عن شرائحها بالكراتين).
الإصلاحات
- لوحة الإدارة 1.7.6 إلى 8.x: تحفظ الأزرار «وضع التعبئة» و«تطبيق على الفئة» و«إزالة» و«حفظ الحدود الدنيا» من جديد (لم يكن يُحتسب إلا الزر العام).
- عقد القالب (docs/THEME-CONTRACT.md): في السلة، توجد أحجام العبوات في السمة data-lnk-packaging-steps للعنصر .lnk-packaging--cart بصيغة JSON مُهرَّبة. كانت الوثيقة لا تزال تصف نصًّا برمجيًّا بصيغة JSON.
عرض الإصدار السابق
-
الإصدار 1.1.0 PrestaShop من 1.7.6 إلى 8.x
الجديد
- تعبئات لكل منتج أو لكل تركيبة (بالستة، بالاثني عشر): تُقرَّب الكمية المُدخلة إلى المضاعف الأعلى، في صفحة المنتج وفي العرض السريع وفي السلة، ولا يمكن أن يُرسل طلب بكمية خارج التعبئة.
- «يُباع بالستة» في صفحة المنتج؛ وحقل الكمية وزرّا الزيادة والنقصان في القالب بخطوة التعبئة.
- حد أدنى لمبلغ الطلب دون الضريبة لكل مجموعة عملاء: تعرض السلة رسالة PrestaShop ويبقى إتمام الطلب مغلقًا حتى بلوغه؛ وتحتفظ المجموعات الأخرى بالحد الأدنى للمتجر. لا يُكتب شيء في إعدادات المتجر.
- الإدخال في لوحة الإدارة بالمرجع أو لفئة كاملة؛ والحدود الدنيا لكل مجموعة؛ ومعاينة مباشرة؛ ضمن الكتالوج.
- عقد القالب lnk.packaging.qty/1؛ وتعدد المتاجر (بيانات لكل متجر، تُنسخ عند إنشاء متجر)؛ والفرنسية والإنجليزية والعربية.