عملاؤك يطلبون عرض سعر ويشترون بالسعر المتفق عليه
تضيف LNK عروض الأسعار طلب عرض السعر إلى متجرك على PrestaShop، من الزر حتى طلب الشراء. يطلب عميلك عرض سعر من صفحة المنتج أو من سلته؛ فتحدد أسعارك من دون ضريبة سطرًا سطرًا في لوحة الإدارة؛ فيقبل العرض في حسابه ويشتري بسعره عبر مسار الطلب المعتاد. لا شيء يُعاد إدخاله، ولا قسيمة تخفيض تُصنع على عجل.
- الإصدار 1.1.0 · PrestaShop من 1.7.6 إلى 8.x
- الإصدار 1.9.0 · PrestaShop 9
- PrestaShop من 1.7.7 إلى 9.x
- PHP من 7.1 إلى 8.4
- بدون تعديل على النواة
لقطات الشاشة
النقاط الرئيسية
- زر «اطلب عرض سعر» في صفحة المنتج، مع الخيار والكمية المختارين
- عرض سعر للسلة كلها بنقرة واحدة
- ملف مرفق (PDF أو صورة، 5 ميغابايت)، محفوظ في مأمن ومُعاد ترميزه
- عرض سطرًا سطرًا في لوحة الإدارة: أسعار من دون ضريبة، وكميات، وصلاحية، ورسالة
- «عروض أسعاري» في حساب العميل، مع حالة كل عرض
- الشراء بسعر العرض عبر الأسعار الخاصة الأصلية، محصورة في هذه السلة
- طلب شراء مرتبط بالعرض، وانتهاء صلاحية من دون مهمة مجدولة
- منتجات «بعرض سعر فقط»، من دون تعديل المنتج
- رسائل إلكترونية إلى التاجر وإلى العميل، كلٌّ بلغته
- 1.4 كيلوبايت مضغوطة في المجموع، في صفحة المنتج والسلة والطلب فقط
- الفرنسية والإنجليزية والعربية من اليمين إلى اليسار
- PrestaShop من 1.7.7 إلى 9.x، وPHP من 7.1 إلى 8.4، من دون override، ومتاجر متعددة
عرض سعر يُطلب في ثوانٍ
يظهر زر «اطلب عرض سعر» في صفحة المنتج، بجانب الإضافة إلى السلة، مع الخيار والكمية اللذين اختارهما العميل. وفي السلة، يأخذ زر «اطلب عرض سعر لهذه السلة» كل أسطرها. يعرضها نموذج الطلب بسعرها الحالي: فيعدّل العميل الكميات، ويحذف سطرًا، ويكتب رسالة، ويمكنه إرفاق ملف (مخطط، دفتر شروط، صورة).
الطلب مخصص للعملاء المسجلين الدخول، لأن عرض السعر المقبول يصبح سلة في حسابهم. يُوجَّه الزائر إلى صفحة تسجيل الدخول، ثم يُعاد إلى النموذج مع المنتج والخيار والكمية التي اختارها. تتلقى أنت بريدًا إلكترونيًا، ويتلقى العميل إشعارًا بالاستلام.
عرضك، سطرًا سطرًا
تصل الطلبات إلى الطلبات، LNK عروض الأسعار، مصنفة حسب الحالة. لكل عرض ترى العميل وشركته ورسالته وملفه المرفق. تحدد كمية كل سطر وسعر الوحدة من دون ضريبة، مملوءين مسبقًا بالسعر الذي رآه العميل، ثم تاريخ الصلاحية (30 يومًا افتراضيًا، قابلة للضبط من 1 إلى 365) ورسالة. يرسل «إرسال العرض» إلى العميل بريدًا إلكترونيًا فيه الأسطر والأسعار والمجموع من دون ضريبة ورابط عرضه.
يمكنك إعادة إرسال عرض مصحَّح ما دام العميل لم يقبله، أو رفض الطلب برسالة. والعرض المقبول أو المغلق يصبح للقراءة فقط.
يُقبل، ثم يُشترى بسعر العرض
يجد العميل في حسابه «عروض أسعاري»: المرجع والتاريخ والمبلغ من دون ضريبة وحالة كل عرض (مُرسل، تم استلام العرض، مقبول، تم الطلب، مرفوض، منتهي الصلاحية). وفي صفحة التفاصيل، ينشئ زر «قبول وطلب» سلته بأسطر العرض ويفتح مسار الطلب الأصلي في PrestaShop. يختار الشحن والدفع كالمعتاد؛ وتُطبَّق ضرائبك وشركات الشحن لديك.
تمر أسعار العرض عبر الأسعار الخاصة الأصلية في PrestaShop، محصورة في هذه السلة وهذا العميل وهذا المتجر، ابتداءً من الكمية المقترحة. لا تنفع أي طلب آخر ولا أي عميل آخر. ويُربط طلب الشراء المؤكَّد بالعرض، فيصبح «تم الطلب»، وتفتحه بنقرة من صفحة العرض.
ويمكن للعميل أيضًا رفض العرض. وبعد تجاوز تاريخ الصلاحية، يصبح العرض «منتهي الصلاحية» وتُحذف أسعاره الخاصة، من دون مهمة مجدولة تحتاج إلى تثبيت: تتحقق الوحدة من ذلك في كل مرة تُعرض فيها العروض.
منتجات تُباع بعرض سعر فقط
مفتاح «عرض سعر فقط» في تبويب الوحدات بصفحة المنتج، يُحفظ بمجرد تبديله. يبقى المنتج معروضًا، لكن الإضافة إلى السلة تُعطَّل في صفحته وفي قوائم المنتجات (يجعل القالب الزر باهتًا أو يخفيه)، ويصبح زر عرض السعر هو الزر الرئيسي. لا تعدّل الوحدة المنتج: أطفئ المفتاح أو عطّل الوحدة، فتعود الإضافة إلى السلة.
ويحذف حارس من جهة الخادم هذا المنتج من كل سلة ليست سلة عرض مقبول، أيًّا كان طريق الإضافة (صفحة المنتج، قائمة، طلب سريع، وحدة أخرى). ويرى العميل رسالة تدعوه إلى طلب عرض سعر.
ويمكنك أيضًا ألا تعرض زر عرض السعر إلا على هذه المنتجات: الإعداد «زر «اطلب عرض سعر»».
الملفات المرفقة في مأمن
ملف PDF أو صورة (JPEG أو PNG أو WebP)، بحد أقصى 5 ميغابايت. تُفحص الصور ثم يُعاد ترميزها بالكامل،
فيُمحى أي محتوى مخفي؛ ويأخذ كل ملف اسمًا عشوائيًا. تُحفظ خارج مجلد الوحدة، في var/lnk_quote/،
ولا تُنزَّل إلا من لوحة الإدارة. تحت Apache، يرفض ملف .htaccess كل وصول مباشر. Nginx يتجاهل ملفات
.htaccess: أضف الكتلة المذكورة في الأسئلة الشائعة إلى إعدادات خادمك. ويمكن إيقاف الملف المرفق
بمفتاح في الإعدادات.
والعميل المحذوف، من قِبلك أو بناءً على طلب وفق RGPD، يأخذ معه عروض أسعاره وملفاتها المرفقة والأسعار الخاصة لسلة عرضه. أما طلب الشراء الذي تم من قبل فيبقى أثره في PrestaShop.
Léger et rapide
أرقام مقيسة على الوحدة المسلَّمة، مضغوطة بـ gzip (المستوى 9). النص البرمجي: 1.0 كيلوبايت (997 بايت)، يُحمَّل في صفحات المنتجات وصفحة السلة وصفحة طلب عرض السعر. ورقة الأنماط: 0.4 كيلوبايت (428 بايت)، تُحمَّل في صفحة طلب عرض السعر فقط. لا شيء في الصفحة الرئيسية ولا في الفئات؛ ولا تضيف صفحتا «عروض أسعاري» وتفاصيل العرض أي ورقة أنماط ولا أي نص برمجي من الوحدة. لا مكتبة، ولا jQuery، ولا مورد خارجي: القالب هو الذي ينسّق الزر والصفحات.
شاشة إعدادات واضحة
أربعة إعدادات ظاهرة، على المظهر المشترك لوحدات LNK: مكان عرض الزر (كل المنتجات أو المنتجات بعرض سعر فقط)، والصلاحية الافتراضية للعرض، والبريد الإلكتروني الذي يستقبل الطلبات الجديدة (بريد المتجر إن بقي فارغًا)، والملف المرفق. وإعدادان نادران مطويّان ضمن «متقدم». وتُقرأ صفحة الوحدة وصفحات العميل والرسائل الإلكترونية من اليمين إلى اليسار بالعربية.
للقوالب والمدمجين
عقد القالب lnk.quote.button/1، مصمَّم لقالب LNK B2B وصالح لأي قالب:
{hook h='displayLnkQuoteButton' product=$product context='product'}في صفحة المنتج؛{hook h='displayLnkQuoteButton' context='cart'}في السلة (لا شيء إن كانت السلة فارغة)؛- أحداث JavaScript
lnk:quote:addedوlnk:quote:sent؛ - قوالب الزر والنموذج و«عروض أسعاري» والتفاصيل قابلة للتجاوز في القالب.
من دون العقد، يظهر زر صفحة المنتج في الموضع الأصلي displayProductAdditionalInfo (classic وhummingbird
وقوالب الأطراف الأخرى). أما زر السلة فيتطلب استدعاء نقطة الربط في قالب السلة. والقالب الذي يضع الزر
بنفسه يوقف الموضع الأصلي في ملف theme.yml الخاص به (LNK_QUOTE_NATIVE_HOOKS: 0)، أو من «متقدم».
المتاجر المتعددة
كل عرض سعر ينتمي إلى متجره: لا يرى العميل إلا عروضه في المتجر الذي هو فيه، وتعرض لوحة الإدارة عروض المتاجر المختارة. الإعدادات لكل متجر، والنطاق معروض دائمًا؛ ويُطبَّق مفتاح «عرض سعر فقط» على المتاجر المختارة. والمتجر المحذوف يأخذ عروضه معه.
التوافق مع PrestaShop 1.7.7 و8 و9
| PrestaShop | 1.7.7 ← 9.x |
| PHP | 7.1 ← 8.4 |
| التسليم | أرشيفان: 1.9.N لـ PrestaShop 9، و1.1.N من 1.7.7 إلى 8.x |
| يحتوي على override | لا |
| المتاجر المتعددة | نعم |
| الاتصالات الخارجية | لا شيء |
جُرّبت الحزمة 1.9.0 على PrestaShop 9.2 (قالب classic): الطلب، والعرض، والقبول، وطلب الشراء المرتبط بالعرض، وانتهاء الصلاحية، والمنتجات بعرض سعر فقط. وجُرّبت الحزمة 1.1.0 على PrestaShop 8.1. وفي 1.7.7 يبقى زر الإضافة إلى السلة ظاهرًا على المنتج المعروض بعرض سعر فقط، ويرفض حارس الخادم الإضافة.
الأسئلة الشائعة
كيف يطلب عملائي عرض سعر؟
بزر «اطلب عرض سعر» في صفحة المنتج، الذي يأخذ الخيار والكمية المختارين، أو بزر «اطلب عرض سعر لهذه السلة»، الذي يأخذ كل أسطر السلة. يتيح نموذج الطلب تعديل الكميات، وحذف سطر، وكتابة رسالة، وإرفاق ملف. تتلقى أنت بريدًا إلكترونيًا، ويتلقى العميل إشعارًا بالاستلام.
هل يحتاج العميل إلى حساب لطلب عرض سعر؟
نعم. عرض السعر المقبول يصبح سلة في حساب العميل، لذلك فالطلب مخصص للعملاء المسجلين الدخول. يُوجَّه الزائر إلى صفحة تسجيل الدخول، ثم يُعاد إلى النموذج مع المنتج والخيار والكمية التي اختارها.
كيف أردّ على طلب عرض سعر؟
في الطلبات، LNK عروض الأسعار، افتح الطلب: تحدد كمية كل سطر وسعر الوحدة من دون ضريبة، وتاريخ الصلاحية ورسالة، ثم «إرسال العرض». يتلقاه العميل بالبريد الإلكتروني مع رابط إلى عرضه. ويمكنك إعادة إرساله مصحَّحًا ما دام لم يقبله، أو رفض الطلب برسالة.
كيف يشتري العميل بسعر العرض؟
في حسابه، «عروض أسعاري»، يفتح العرض وينقر «قبول وطلب». تنشئ الوحدة سلته بأسطر العرض وتفتح مسار الطلب الأصلي: فيختار الشحن والدفع كالمعتاد. ويُربط طلب الشراء المؤكَّد بالعرض، فيصبح «تم الطلب».
هل يمكن أن يستفيد عميل آخر أو طلب آخر من سعر العرض؟
لا. يمر كل سعر عبر سعر خاص أصلي في PrestaShop محصور في سلة العرض والعميل والمتجر، ابتداءً من الكمية المقترحة. وتحت هذه الكمية يعود السعر المعتاد. ويُحذف السعر الخاص إذا رُفض العرض أو انتهت صلاحيته.
ماذا يحدث عند تجاوز تاريخ الصلاحية؟
يصبح العرض «منتهي الصلاحية» وتُحذف أسعاره الخاصة: لا يعود بإمكان العميل قبوله. لا مهمة مجدولة تحتاج إلى تثبيت، فالوحدة تتحقق من ذلك في كل مرة تُعرض فيها العروض، لدى العميل كما في لوحة الإدارة. والصلاحية المقترحة افتراضيًا 30 يومًا، قابلة للضبط من 1 إلى 365.
كيف أبيع منتجًا بعرض سعر فقط؟
بدّل مفتاح «عرض سعر فقط» في تبويب الوحدات بصفحة المنتج في لوحة الإدارة. تُعطَّل الإضافة إلى السلة في صفحة المنتج وفي القوائم (يجعل القالب الزر باهتًا أو يخفيه)، ويصبح زر عرض السعر هو الزر الرئيسي. ويحذف حارس من جهة الخادم أيضًا هذا المنتج من كل سلة ليست سلة عرض مقبول، أيًّا كان طريق الإضافة. ولا يُعدَّل المنتج نفسه.
هل يجب تعديل قالبي؟
لصفحة المنتج، لا: يظهر الزر في الموضع الأصلي لمعلومات المنتج (classic وhummingbird ومعظم القوالب).
أما زر السلة فيتطلب سطرًا واحدًا في قالب السلة: {hook h='displayLnkQuoteButton' context='cart'}.
وقالب LNK B2B يستدعي الاثنين من قبل.
هل تحتوي الوحدة على override؟
لا override. لا تُدخل هذه الوحدة أي تعديل على نواة PrestaShop: تمر أسعار العرض عبر الأسعار الخاصة الأصلية، وطلب الشراء عبر مسار الطلب الأصلي.
أين تُحفظ الملفات المرفقة بالطلبات؟
في var/lnk_quote/ في جذر المتجر، وليس في مجلد الوحدة أبدًا: التحديث لا يمحوها. ولا تُقدَّم مباشرة
أبدًا؛ لوحة الإدارة وحدها تنزّلها. تحت Apache، يرفض ملف .htaccess الموضوع عند التثبيت كل وصول. أما
Nginx فيتجاهل ملفات .htaccess: أضف هذه الكتلة داخل كتلة server الخاصة بموقعك.
location ^~ /var/lnk_quote/ { deny all; return 403; }
ما الملفات التي يمكن لعملائي إرفاقها؟
ملف PDF أو صورة JPEG أو PNG أو WebP، بحد أقصى 5 ميغابايت. تُفحص الصور ثم يُعاد ترميزها بالكامل، فيُمحى أي محتوى مخفي، ويأخذ كل ملف اسمًا عشوائيًا. ويمكن إيقاف الملف المرفق بمفتاح في الإعدادات.
هل يُرسل عرض السعر بصيغة PDF؟
لا، ليس في هذا الإصدار. يتلقى العميل العرض بالبريد الإلكتروني، مع الأسطر والأسعار من دون ضريبة والمجموع وتاريخ الصلاحية، ويجده في «عروض أسعاري» في حسابه.
هل تبطئ الوحدة متجري؟
لا. النص البرمجي بحجم 1.0 كيلوبايت (مضغوطًا) يُحمَّل في صفحات المنتجات والسلة وصفحة طلب عرض السعر؛ وورقة الأنماط بحجم 0.4 كيلوبايت في صفحة الطلب فقط. لا شيء في الصفحة الرئيسية ولا في الفئات، من دون jQuery ولا مورد خارجي.
هل تعمل مع المتاجر المتعددة؟
نعم. كل عرض سعر ينتمي إلى متجره: لا يرى العميل إلا عروضه في المتجر الذي هو فيه، وتعرض لوحة الإدارة عروض المتاجر المختارة. والإعدادات لكل متجر، مع عرض النطاق. والمتجر المحذوف يأخذ عروضه معه.
ماذا يحدث لعروض الأسعار عند إلغاء التثبيت؟
تُحفظ، مع ملفاتها المرفقة. لحذف كل شيء، فعّل ضمن «متقدم» خيار «حذف عروض الأسعار أيضاً عند إلغاء التثبيت»، ثم ضع علامة على التأكيد. وتستعيد المنتجات المعروضة بعرض سعر فقط إضافتها إلى السلة بمجرد تعطيل الوحدة، لأنها لم تعدّلها قط.
بأي لغات تُسلَّم؟
بالفرنسية والإنجليزية والعربية (من اليمين إلى اليسار). وتُرسل كل رسالة إلكترونية بلغة المرسَل إليه: لغة المتجر للتاجر، ولغة الطلب للعميل.
ماذا يحدث لعروض أسعار عميل محذوف؟
تُحذف معه. عندما تحذف عميلًا، من تلقاء نفسك أو بناءً على طلب وفق اللائحة العامة لحماية البيانات
(RGPD)، تُمحى عروض أسعاره وأسطرها وملفاتها المرفقة في var/lnk_quote/ والأسعار الخاصة لسلة العرض. أما
طلب الشراء الذي تم من قبل فيبقى أثره في PrestaShop، مثل أي طلب.
سجل الإصدارات
-
الإصدار 1.9.0 PrestaShop 9
الإصدار الأول. الفرع 9: PrestaShop من 9.0 إلى 9.x فقط. أما PrestaShop من 1.7.7 إلى 8.x فعبر الحزمة 1.1.0.
الجديد
- طلب عرض سعر من صفحة المنتج (الخيار والكمية المختاران) أو من السلة (كل أسطرها)، مخصص للعملاء المسجلين الدخول، مع العودة إلى النموذج بعد تسجيل الدخول؛ كميات قابلة للتعديل، وسطر قابل للحذف، ورسالة وملف مرفق.
- ملف مرفق محمي: PDF أو صورة JPEG أو PNG أو WebP بحد أقصى 5 ميغابايت، صور مُعاد ترميزها، واسم عشوائي، محفوظ في
var/lnk_quote/ولا يُنزَّل إلا من لوحة الإدارة. - رسائل إلكترونية بالفرنسية والإنجليزية والعربية: طلب جديد إلى التاجر، وإشعار بالاستلام إلى العميل، والعرض والرفض إلى العميل، كلٌّ بلغة المرسَل إليه.
- لوحة الإدارة في الطلبات، LNK عروض الأسعار: قائمة مصنفة حسب الحالة، وعرض سطرًا سطرًا (الكمية، وسعر الوحدة من دون ضريبة، والصلاحية، والرسالة)، وإعادة الإرسال ما دام العرض لم يُقبل، والرفض برسالة، ورابط إلى طلب الشراء.
- «عروض أسعاري» وتفاصيل العرض في حساب العميل، مع حالة كل عرض.
- القبول: سلة العميل بأسعار العرض، عبر أسعار خاصة أصلية محصورة في هذه السلة وهذا العميل وهذا المتجر، ثم طلب الشراء عبر مسار الطلب الأصلي، مرتبطًا بالعرض؛ والرفض من العميل.
- انتهاء الصلاحية عند عرض العروض، من دون مهمة مجدولة: تُحذف الأسعار الخاصة.
- منتجات «بعرض سعر فقط»: مفتاح في تبويب الوحدات بصفحة المنتج، والإضافة إلى السلة تُزال من صفحة المنتج والقوائم من دون تعديل المنتج، وحارس للسلة أيًّا كان طريق الإضافة.
- عقد القالب
lnk.quote.button/1: نقطة الربطdisplayLnkQuoteButton(صفحة المنتج والسلة)، والحدثانlnk:quote:addedوlnk:quote:sent، وقوالب قابلة للتجاوز؛ وزر في الموضع الأصلي لصفحة المنتج للقوالب التي لا تعتمد العقد، والإعدادLNK_QUOTE_NATIVE_HOOKS. - المتاجر المتعددة: العروض والإعدادات لكل متجر، والنطاق معروض، وعروض المتجر المحذوف تُمحى.
- العربية، من اليمين إلى اليسار، في لوحة الإدارة وصفحات العميل والرسائل الإلكترونية.
- العميل المحذوف (من قِبل التاجر أو بناءً على طلب وفق RGPD): تُحذف عروض أسعاره وأسطرها وملفاتها المرفقة والأسعار الخاصة لسلة العرض؛ ويبقى أثر طلب الشراء الذي تم من قبل في النواة.
- عروض الأسعار محفوظة عند إلغاء التثبيت افتراضيًا؛ والحذف على خطوتين، ضمن «متقدم».
-
الإصدار 1.1.0 PrestaShop من 1.7.6 إلى 8.x
الإصدار الأول. الفرع القديم: PrestaShop من 1.7.7 إلى 8.x. ولـ PrestaShop 9 حزمته الخاصة (1.9.0)، بالشيفرة الوظيفية نفسها.
الجديد
- طلب عرض سعر من صفحة المنتج (الخيار والكمية المختاران) أو من السلة (كل أسطرها)، مخصص للعملاء المسجلين الدخول، مع العودة إلى النموذج بعد تسجيل الدخول؛ كميات قابلة للتعديل، وسطر قابل للحذف، ورسالة وملف مرفق.
- ملف مرفق محمي: PDF أو صورة JPEG أو PNG أو WebP بحد أقصى 5 ميغابايت، صور مُعاد ترميزها، واسم عشوائي، محفوظ في
var/lnk_quote/ولا يُنزَّل إلا من لوحة الإدارة. - رسائل إلكترونية بالفرنسية والإنجليزية والعربية: طلب جديد إلى التاجر، وإشعار بالاستلام إلى العميل، والعرض والرفض إلى العميل، كلٌّ بلغة المرسَل إليه.
- لوحة الإدارة في الطلبات، LNK عروض الأسعار: قائمة مصنفة حسب الحالة، وعرض سطرًا سطرًا (الكمية، وسعر الوحدة من دون ضريبة، والصلاحية، والرسالة)، وإعادة الإرسال ما دام العرض لم يُقبل، والرفض برسالة، ورابط إلى طلب الشراء.
- «عروض أسعاري» وتفاصيل العرض في حساب العميل، مع حالة كل عرض.
- القبول: سلة العميل بأسعار العرض، عبر أسعار خاصة أصلية محصورة في هذه السلة وهذا العميل وهذا المتجر، ثم طلب الشراء عبر مسار الطلب الأصلي، مرتبطًا بالعرض؛ والرفض من العميل.
- انتهاء الصلاحية عند عرض العروض، من دون مهمة مجدولة: تُحذف الأسعار الخاصة.
- منتجات «بعرض سعر فقط»: مفتاح في تبويب الوحدات بصفحة المنتج، والإضافة إلى السلة تُزال من صفحة المنتج والقوائم من دون تعديل المنتج، وحارس للسلة أيًّا كان طريق الإضافة.
- عقد القالب
lnk.quote.button/1: نقطة الربطdisplayLnkQuoteButton(صفحة المنتج والسلة)، والحدثانlnk:quote:addedوlnk:quote:sent، وقوالب قابلة للتجاوز؛ وزر في الموضع الأصلي لصفحة المنتج للقوالب التي لا تعتمد العقد، والإعدادLNK_QUOTE_NATIVE_HOOKS. - المتاجر المتعددة: العروض والإعدادات لكل متجر، والنطاق معروض، وعروض المتجر المحذوف تُمحى.
- العربية، من اليمين إلى اليسار، في لوحة الإدارة وصفحات العميل والرسائل الإلكترونية.
- العميل المحذوف (من قِبل التاجر أو بناءً على طلب وفق RGPD): تُحذف عروض أسعاره وأسطرها وملفاتها المرفقة والأسعار الخاصة لسلة العرض؛ ويبقى أثر طلب الشراء الذي تم من قبل في النواة.
- عروض الأسعار محفوظة عند إلغاء التثبيت افتراضيًا؛ والحذف على خطوتين، ضمن «متقدم».