OpenCart
ثبّت إضافة SeekGist على OpenCart بالإصدارات 2.x أو 3.x أو 4.x.
تعمل إضافة SeekGist مع OpenCart بالإصدارات 2.x و3.x و4.x على PHP 7.4 أو أحدث (مع cURL وmysqli). جُرّبت على OpenCart 2.1.0.1 و3.0.4.0 و4.0.2.3 ببيانات اختبار مصطنعة.
ماذا تفعل الإضافة
- صفحة نتائج البحث. تطلب صفحة البحث في متجرك أرقام المنتجات من SeekGist، ثم يعرض OpenCart بطاقات المنتجات الخاصة به. تبقى الأسعار والعروض والضرائب وأسعار مجموعات العملاء كما يحسبها OpenCart تمامًا، ولا يتغير رابط صفحة البحث.
- رجوع آمن. إذا لم يرد SeekGist خلال 300 ملّي ثانية، أو رد بخطأ، يخدم بحث المتجر نفسه ذلك الطلب. وبعد 5 أخطاء خلال 60 ثانية تتجاوز الإضافة SeekGist لمدة 30 ثانية. راجع الرجوع إلى بحث المتجر.
- اقتراحات أثناء الكتابة تعمل بلوحة المفاتيح وبقارئات الشاشة، ومن اليمين إلى اليسار في العربية. تبقى عمليات البحث الأخيرة في متصفح المتسوق فقط.
- تتبّع النقرات على النتائج والإضافة إلى السلة والطلبات، وتُرسل لاحقًا عبر المهمة المجدولة.
- مزامنة المنتجات فور حفظ المنتج، ومن مهمة مجدولة كل 5 دقائق (تلتقط أيضًا تغيّر المخزون بسبب الطلبات)، ومزامنة كاملة مرة في اليوم.
- كتابة الترجمات في المتجر (اختيارية): تُكتب الترجمات المعتمدة من SeekGist في صفوف اللغات في متجرك. ولا يُستبدل أبدًا نص كتبه شخص.
1. قبل أن تبدأ
- أنشئ متجرك في لوحة تحكم SeekGist واختر OpenCart في معالج الإعداد.
- افتح الإعدادات > مفاتيح API وانسخ مفتاحين: المفتاح العام (
sg_pub_...، يُستخدم في صفحاتك) والمفتاح السري (sg_sec_...، يستخدمه خادمك فقط لمزامنة المنتجات). - خذ نسخة احتياطية من ملفات متجرك وقاعدة بياناته.
- اختر الحزمة المناسبة لإصدار OpenCart لديك:
| OpenCart | الحزمة | طريقة الربط |
|---|---|---|
| 2.0 - 2.3 | seekgist-opencart-2.x-1.0.0.ocmod.zip | ملفات + ملف OCMOD يضيف 4 نقاط ربط صغيرة |
| 3.x | seekgist-opencart-3.x-1.0.0.ocmod.zip | أحداث (events) فقط. لا يتغير أي ملف أساسي |
| 4.x | seekgist.ocmod.zip (أبقِ اسم الملف كما هو تمامًا) | أحداث فقط. لا يتغير أي ملف أساسي |
2. التثبيت
OpenCart 4.x
- Extensions > Installer: ارفع
seekgist.ocmod.zip، ثم اضغط Install بجانبه. - Extensions > Extensions، اختر Modules، وابحث عن SeekGist Search، واضغط Install.
- اضغط Edit وانتقل إلى الإعدادات.
OpenCart 3.x
- Extensions > Installer: ارفع
seekgist-opencart-3.x-1.0.0.ocmod.zip. - Extensions > Extensions، اختر Modules، وابحث عن SeekGist Search، واضغط Install (علامة + الخضراء).
- اضغط Edit (القلم) وانتقل إلى الإعدادات.
OpenCart 2.x
ينسخ OpenCart 2.x ملفات الإضافات عبر FTP فقط، ومعظم المتاجر لا تضبط ذلك. لذا:
- فك ضغط الحزمة. ارفع محتويات مجلد
upload/إلى المجلد الرئيسي لمتجرك (الذي فيهindex.php)، عبر FTP أو SFTP أو مدير الملفات في الاستضافة. - Extensions > Extension Installer: ارفع
seekgist.ocmod.xml(تجده في الحزمة بجانبupload/). - Extensions > Modifications: اضغط Refresh (الزر الأزرق أعلى اليمين).
- Extensions > Modules: ابحث عن SeekGist Search، واضغط Install ثم Edit.
إذا كان قالبك أو إضافة أخرى قد غيّرت الملف catalog/model/catalog/product.php كثيرًا، فافتح Extensions > Modifications > Log بعد التحديث. يجب أن تظهر كل نقطة من نقاط الربط الأربع على أنها وُجدت. وإذا ظهرت إحداها NOT FOUND فسيواصل المتجر العمل دون SeekGist.
3. الإعدادات
| الحقل | ماذا تكتب |
|---|---|
| SeekGist search | On لاستخدام SeekGist. وOff يعني بحث متجرك نفسه فورًا |
| API address | https://api.seekgist.com (اتركه كما هو) |
| Public key | sg_pub_... |
| Secret key | sg_sec_... (لا يُعرض مرة أخرى أبدًا؛ اترك الحقل فارغًا للإبقاء عليه) |
| صفحة النتائج / الاقتراحات / التتبّع / مزامنة المنتجات | تشغيل أو إيقاف، كلٌّ على حدة |
| AI query understanding | الأفضل هنا Off. فإجابات الذكاء الاصطناعي تتجاوز غالبًا 300 ملّي ثانية، وعندها سيجيب بحث متجرك بدلًا منها |
| Show only products in stock | فعّله إذا كان متجرك يخفي المنتجات غير المتوفرة |
| Search box (CSS selector) | القيمة الافتراضية input[name="search"] تناسب معظم القوالب |
| Write back translations for | مثلًا ar. اتركه فارغًا لإيقاف كتابة الترجمات |
| Language map | فقط إذا كانت رموز اللغات لديك غير مألوفة، مثل 1=en,2=ar |
اضغط Save، ثم:
- Test connection. يجب أن يظهر OK للمفتاحين. وهذا يضيف متجرك أيضًا إلى لوحة تحكم SeekGist.
- Sync all products now. يبيّن جدول الحالة عدد المنتجات المرسلة.
- ابحث عن شيء في متجرك، بالعربية وبالإنجليزية.
4. المهمة المجدولة (ضرورية)
ترسل المهمة المجدولة المنتجات المتغيرة والأحداث والترجمات المعتمدة. أضف هذا السطر إلى crontab على خادمك (تعرض صفحة الإدارة المسار الدقيق لمتجرك):
*/5 * * * * php /path/to/your/store/system/library/seekgist/cron.php >/dev/null 2>&1في OpenCart 4.x يكون الملف extension/seekgist/system/library/seekgist/cron.php. الخيارات: --task=all (الافتراضي)، وdelta، وfull، وoutbox، وwriteback، و--root=/path إذا لم يجد السكربت مجلد متجرك.
إذا لم تكن في استضافتك مهام مجدولة من سطر الأوامر، فاستخدم عنوان الويب الظاهر في صفحة الإدارة مع أداة «URL cron» في استضافتك. احفظ رمزه سرًا: فكل من يملكه يستطيع تشغيل مزامنة.
5. تحقّق من الرجوع (اختياري)
يعرض جدول الحالة في الإدارة عدد مرات الرجوع إلى بحث المتجر (24 ساعة) وحالة مفتاح الأمان. لتجربته على نسخة اختبار من متجرك، اجعل API address عنوانًا لا يرد (مثل https://localhost:9). يجب أن يظل البحث يعرض نتائج (نتائج متجرك نفسه)، ويزيد عدّاد الرجوع.
إلغاء التثبيت
Extensions > Modules (في 2.x) أو Extensions > Extensions > Modules (في 3.x و4.x): Uninstall. يزيل هذا أحداث الإضافة وإعداداتها وجداولها الأربعة (seekgist_state، seekgist_outbox، seekgist_kv، seekgist_written). وفي 2.x احذف أيضًا التعديل من Extensions > Modifications واضغط Refresh. لا تتغير منتجاتك ولا بحث متجرك.
مشكلات وحلول
| ما تراه | ماذا تفعل |
|---|---|
| «Public key: not accepted, check the key» | انسخ المفتاح مرة أخرى من لوحة التحكم. قد يكون المفتاح مقيّدًا بمواقع أخرى (allowed origins) |
| النتائج تشبه البحث القديم | هل المفتاح على On؟ هل مفتاح الأمان في حالة إيقاف مؤقت؟ انظر إلى عدد مرات الرجوع في جدول الحالة |
| منتجات ناقصة في SeekGist | شغّل Sync all products now واقرأ سطر الحالة. هل المهمة المجدولة تعمل؟ |
| لا يظهر صندوق الاقتراحات | قد يكون لصندوق البحث في قالبك اسم آخر: اضبط Search box (CSS selector) |
| البحث بالعربية يستخدم لغة خاطئة | اضبط Language map، مثل 1=en,2=ar |
ما الذي يُحفظ ويُرسل
- يُرسل إلى SeekGist: بيانات المنتجات (الأسماء والأوصاف والعلامة التجارية والطراز وSKU/EAN والسعر والسعر الخاص والمخزون والتصنيفات والخصائص وروابط الصور والمنتجات)، ونص البحث، وأحداث مجهولة الهوية (قيمة تجزئة (hash) لمعرّف الجلسة، ولا أسماء ولا بريد إلكتروني ولا عناوين أبدًا).
- يُحفظ في قاعدة بياناتك: حالة المزامنة، وقائمة أحداث تنتظر المهمة المجدولة (تُحفظ 7 أيام)، وحالة التشغيل، والترجمات التي كتبتها الإضافة.
- يبقى المفتاح السري على خادمك. ولا يوضع في صفحاتك إلا المفتاح العام.