השוואת מוצרים משופרת לאתרי מסחר אלקטרוני של 1C-Bitrix

מודול השוואת מוצרים מותאם אישית עבור 1C-Bitrix חנות המסחר האלקטרוני שלך על 1C-Bitrix גדלה, הקטלוג עולה על 10,000 פריטים, ורכיב ההשוואה הסטנדרטי מתחיל להיכשל. אחסון מבוסס סשן מאבד רשימות כאשר הדפדפן נסגר - עד 30% מהקונים עוזבים מבלי למצוא את מה שחיפשו קודם
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
השוואת מוצרים משופרת לאתרי מסחר אלקטרוני של 1C-Bitrix
בינוני
~1-2 שבועות

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • image_website-b2b-advance_0.webp
    פיתוח אתר חברה B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    פיתוח אתר לחברת FIXPER
    1018
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    760
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    879
  • image_crm_dolbimby_434_0.webp
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    803
  • image_crm_technotorgcomplex_453_0.webp
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1162

מודול השוואת מוצרים מותאם אישית ל-1C-Bitrix

חנות המסחר האלקטרוני שלך על 1C-Bitrix גדלה, הקטלוג עולה על 10,000 פריטים, ורכיב ההשוואה הסטנדרטי מתחיל להיכשל. אחסון מבוסס-סשן מאבד רשימות כאשר הדפדפן נסגר — עד 30% מהקונים עוזבים מבלי למצוא את המוצרים שבחרו קודם. היעדר הדגשת הבדלים מאלץ סריקה ידנית של עשרות מאפיינים. מודול השוואת המוצרים המותאם אישית שלנו ל-1C-Bitrix פותר בעיות אלו ומגביר את ההמרה ב-15–20% באמצעות סינון נוח של פרמטרים שונים.

במשך יותר מ-5 שנות פיתוח, יישמנו מודולים לחנויות עם קטלוגים הנעים בין 1,000 ל-500,000 מוצרים. כל פרויקט מותאם לצרכים ספציפיים: אחסון ב-MySQL, מיזוג רשימות בעת התחברות, ייצוא ל-PDF ול-Excel. אנו מעריכים פוטנציאל ביום עסקים אחד. לחברה שלנו ניסיון של 5+ שנים, למעלה מ-50 פרויקטים שהושלמו, ונוכחות שוק של 5 שנים.

מדוע יש צורך במודול השוואה נפרד?

המנגנון המובנה catalog.compare מאחסן נתונים ב-$_SESSION['CATALOG_COMPARE'] ובעוגיית catalog_compare_items. כאשר מוצר מתווסף, בקשת AJAX כותבת לסשן. מגבלות עיקריות:

  • הסשן חי עד שהדפדפן נסגר או מתרחש timeout — חוזרים יום לאחר מכן, המשתמש רואה רשימה ריקה. אובדן הזמנות — עד 30%.
  • אין הפרדה לפי קטגוריה — ניתן להוסיף טלוויזיה ומגפיים, מה שהופך את הטבלה לחסרת משמעות.
  • כל המאפיינים מוצגים ללא הבחנה וללא הדגשת הבדלים — הקונה מחפש הבדלים ידנית.
  • אין קישור לחשבון: אדם אחד בשני מכשירים מקבל שתי רשימות שונות.

לפי תיעוד 1C-Bitrix, הרכיב הסטנדרטי מיועד לפרויקטים פשוטים ואינו ניתן להרחבה ללא שכתוב הלוגיקה.

כיצד פועל אחסון חוצה-סשנים?

המודול נרשם במערכת באמצעות local/modules/vendor.compare/ עם include.php ו-install/index.php. האחסון מאורגן כך:

טבלת b_compare_list:

שדה סוג מטרה
ID int auto_increment מפתח ראשי
USER_ID int מזהה משתמש מורשה, NULL לאורחים
SESSION_ID varchar(64) האש של הסשן לאורחים
CREATED_AT datetime תאריך יצירה
UPDATED_AT datetime תאריך שינוי אחרון

טבלת b_compare_item:

שדה סוג מטרה
ID int auto_increment
LIST_ID int FK ל-b_compare_list
PRODUCT_ID int מזהה הצעת מוצר
SECTION_ID int מזהה קטע בקטלוג
ADDED_AT datetime מתי נוסף

מחלקות ORM יורשות מ-\Bitrix\Main\ORM\Data\DataManager. מגבלת המוצרים מוגדרת דרך הגדרות המודול (טבלת b_option).

לוגיקת מיזוג בעת התחברות

כאשר אורח מתחבר לחשבון, הרשימה האנונימית שלו ממוזגת עם הרשימה הקבועה. המתודה mergeOnLogin מופעלת על ידי אירוע OnAfterUserLogin:

public static function mergeOnLogin(int $userId, string $sessionId): void { $guestList = CompareListTable::getRow([ 'filter' => ['=SESSION_ID' => $sessionId, '=USER_ID' => false], ]); if (!$guestList) { return; } $userList = CompareListTable::getOrCreate($userId); $guestItems = CompareItemTable::getList([ 'filter' => ['=LIST_ID' => $guestList['ID']], ]); foreach ($guestItems as $item) { CompareItemTable::addIfNotExists($userList['ID'], $item['PRODUCT_ID']); } CompareListTable::delete($guestList['ID']); } 

האלגוריתם מהיר פי 3 מהסטנדרטי בזכות הכנסה אצווה ושימוש ב-ORM.

חשיבות הדגשת ההבדלים

הקונה מצפה שטבלת השוואה תדגיש הבדלים. האלגוריתם פועל כך:

  1. שליפת מאפיינים של כל המוצרים באמצעות public static function mergeOnLogin(int $userId, string $sessionId): void { $guestList = CompareListTable::getRow([ 'filter' => ['=SESSION_ID' => $sessionId, '=USER_ID' => false], ]); if (!$guestList) { return; } $userList = CompareListTable::getOrCreate($userId); $guestItems = CompareItemTable::getList([ 'filter' => ['=LIST_ID' => $guestList['ID']], ]); foreach ($guestItems as $item) { CompareItemTable::addIfNotExists($userList['ID'], $item['PRODUCT_ID']); } CompareListTable::delete($guestList['ID']); } עם CIBlockElement::GetList().
  2. בניית מטריצה: מפתח — קוד מאפיין סמלי, ערך — מערך ערכים לכל מוצר.
  3. לכל שורה, בדיקת SELECT = ['PROPERTY_*'] — אם יש יותר מערך ייחודי אחד, השורה מסומנת כ"שונה".
  4. בצד הלקוח, שורות עם הבדלים מקבלות את מחלקת ה-CSS count(array_unique($values)) > 1.

סינון שורות שבהן כל הערכים ריקים מקטין את הטבלה ב-40% בממוצע ומאיץ את מציאת הפרמטרים הרצויים.

מקרה בוחן: חנות אלקטרוניקה

עבור לקוח עם 25,000 מוצרים, יישמנו את המודול עם הדגשת הבדלים. לאחר ההשקה, זמן השוואת המוצרים ירד מ-3 דקות ל-30 שניות. ההמרה מעמוד ההשוואה לעגלת קניות עלתה ב-18%. קוד המודול משתמש במטמון מתויג עבור רשימת המאפיינים, מה שמפחית את העומס על מסד הנתונים במהלך בקשות מקבילות.

צד לקוח: AJAX ומצב

כפתור "הוסף להשוואה" בכרטיס המוצר שולח POST דרך compare-row--diff. מצב הסמל מסונכרן באמצעות bitrix:main.ajax בעת הטעינה ומתעדכן לאחר כל תגובה. מונה המוצרים בכותרת מעובד על ידי רכיב נפרד הקורא את הספירה מהסשן או מ-API של המודול מבלי לטעון נתונים מלאים.

דוגמה להגדרת מגבלת מוצרים בהשוואה: בלוח הניהול של המודול, ניתן להגדיר את המספר המרבי של מוצרים ברשימה אחת. כאשר חורגים מהמגבלה, המשתמש מקבל הודעה אינפורמטיבית.

מה כלול בעבודה

התוצרים הבאים מסופקים כחלק מפיתוח המודול:

רכיב תיאור
אחסון במסד נתונים טבלאות, מחלקות ORM, התקנת מודול
אינטראקציית AJAX הוספה/הסרה ללא טעינת עמוד מחדש
מיזוג בעת התחברות מיזוג רשימות אוטומטי
הדגשת הבדלים אלגוריתם סינון וסימון
ייצוא PDF/Excel יצירה באמצעות TCPDF ו-PhpSpreadsheet
הגדרות ניהול מגבלות, הפעלה/כיבוי של תכונות
תיעוד והדרכה תיעוד API, הוראות למנהלי תוכן
אחריות ותמיכה 12 חודשים של תיקוני באגים בחינם

כל התוצרים כוללים קוד מקור מלא, סכמת מסד נתונים וגישת ניהול. אנו גם מספקים מפגשי הדרכה לצוות שלך ותמיכה שוטפת.

לוחות זמנים ועלות פיתוח

היקף הרכב זמן עלות החל מ-
בסיסי אחסון במסד נתונים, AJAX, טבלת השוואה 4–6 ימים $500
סטנדרטי + מיזוג בעת התחברות, הדגשת הבדלים, מונה 8–10 ימים $900
מורחב + ייצוא, השוואה מקטגוריות שונות, הגדרות ניהול 12–16 ימים $1,500

עבור חנות עם 10,000 מוצרים, זה מפחית את נטישת עגלת הקניות בעד 30%, מה שעשוי לחסוך אלפים בהכנסות אבודות. צור קשר לייעוץ — נעריך את הפרויקט שלך ביום אחד. אנו מומחי 1C-Bitrix מוסמכים עם ניסיון של 5+ שנים ולמעלה מ-50 יישומים. הזמינו פיתוח מודול וקבלו אחריות ל-12 חודשים.