מודול רשימת משאלות מותאם אישית לפיתוח 1C-Bitrix

ל-Bitrix הסטנדרטי אין מודול רשימת משאלות מובנה לקטלוג. במודול `sale` יש 'פריטים שנדחו' שנכנסים לעגלה עם שדה `DELAY` מוגדר ל-`Y`. זו לא רשימת משאלות: פריטים מתערבבים עם העגלה מבחינה לוגית וטכנית, אין אפשרות ליצור רשימות מרובות, ואין תמיכה באורחים.
השירותים שאנו מציעים
מציג 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

ל-Bitrix הסטנדרטי אין מודול מובנה לרשימת מועדפים בקטלוג. במודול sale יש 'פריטים שנדחו' שנכנסים לעגלה עם שדה Y המוגדר ל-DELAY. זו לא רשימת מועדפים: פריטים מתערבבים עם העגלה מבחינה לוגית וטכנית, אין אפשרות ליצור מספר רשימות, ואין תמיכה באורחים עם סנכרון בעת התחברות. רשימת מועדפים מלאה דורשת מודול נפרד. תרחיש טיפוסי: לקוח מוסיף פריט לעגלה, ואז נכנס לעגלה ומתבלבל לגבי מה נדחה ומה הם רכישות בפועל. העסק מאבד המרות, ומפתחים מבזבזים שעות על פתרונות עוקפים עם שדות נוספים.

אנחנו צוות עם 7 שנות ניסיון בפיתוח Bitrix, שיצרנו עשרות מודולים כאלה עבור חנויות מקוונות עם קטלוגים של עד 200,000 מוצרים. הפתרון שלנו מבטיח ביצועים באמצעות מטמון מתויג ושאילתות מסד נתונים מותאמות. בניגוד לרכיבים מוכנים, המודול שלנו אינו עמוס בתלותיות מיותרות. המהירות מהירה עד פי 3 בהשוואה לרכיב הסטנדרטי. הזמינו מודול רשימת מועדפים מוכן — קבלו פונקציונליות מלאה תוך 4-15 ימים. צרו קשר להערכת זמן ועלות חינם.

אחסון נתונים

המודול שוכן ב-local/modules/vendor.wishlist/. שתי טבלאות עיקריות: טבלת b_wishlist — רשימות מועדפים (משתמש יכול להחזיק כמה: 'רוצה לקנות', 'מתנות', 'נדחה'):

שדה סוג מטרה
ID int auto_increment מפתח ראשי
USER_ID int מזהה משתמש (NULL לאורחים)
SESSION_ID varchar(64) האש של סשן אורח
TITLE varchar(255) שם הרשימה
IS_PUBLIC tinyint(1) ניתן לשיתוף באמצעות קישור
PUBLIC_HASH varchar(32) האש ייחודי לכתובת URL ציבורית
CREATED_AT datetime

טבלת b_wishlist_item:

שדה סוג מטרה
ID int auto_increment
LIST_ID int מפתח זר ל-b_wishlist
PRODUCT_ID int מזהה הצעת מוצר
ELEMENT_ID int מזהה אלמנט בלוק מידע (מוצר אב)
ADDED_AT datetime
NOTE text הערה אישית של המשתמש לפריט

איך פועל סנכרון רשימת מועדפים לאורחים?

בעת התחברות המשתמש, מופעל מטפל האירועים OnAfterUserLogin:

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'main', 'OnAfterUserLogin', [WishlistMerger::class, 'merge'] ); 

המתודה \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'main', 'OnAfterUserLogin', [WishlistMerger::class, 'merge'] ); מוצאת את הרשימה האנונימית לפי merge, מעבירה את הפריטים שלה לרשימה הראשית של המשתמש (עם בדיקת כפילויות באמצעות SESSION_ID לפני SELECT), ואז מוחקת את הרשימה האנונימית. אם למשתמש אין עדיין רשימה, הרשימה האנונימית פשוט מוקצית מחדש באמצעות INSERT.

כפתור 'הוסף למועדפים' בכרטיס המוצר

הכפתור שולח בקשת AJAX לרכיב UPDATE b_wishlist SET USER_ID = ?, SESSION_ID = NULL WHERE SESSION_ID = ?. הרכיב מקבל vendor:wishlist.button ו-PRODUCT_ID (הוספה/הסרה/החלפה), מבצע את הפעולה, ומחזיר JSON עם המצב החדש.

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

// Получение всех ID товаров в избранном для текущего пользователя $items = WishlistItemTable::getList([ 'filter' => ['=LIST_ID' => $listId], 'select' => ['PRODUCT_ID'], ])->fetchAll(); $productIds = array_column($items, 'PRODUCT_ID'); 

רשימות ציבוריות ושיתוף

כל רשימה יכולה להפוך לציבורית. במקרה זה, נוצר PRODUCT_ID באמצעות // Получение всех ID товаров в избранном для текущего пользователя $items = WishlistItemTable::getList([ 'filter' => ['=LIST_ID' => $listId], 'select' => ['PRODUCT_ID'], ])->fetchAll(); $productIds = array_column($items, 'PRODUCT_ID'); . כתובת URL כמו PUBLIC_HASH פותחת את הרשימה לכל מבקר במצב צפייה. הצופה יכול להוסיף פריטים בודדים לעגלה שלו אך אינו יכול לערוך רשימה של מישהו אחר.

תכונה זו שימושית לרשימות מתנות: משתמש מרכיב רשימה של מתנות רצויות ומשתף את הקישור עם קרובי משפחה.

התראות על ירידת מחיר

תכונה אופציונלית אך פופולרית: אם מחיר פריט ברשימת המועדפים יורד, המשתמש מקבל הודעת דוא"ל. מיושם באמצעות סוכן (\Bitrix\Main\Security\Random::getString(32)) או משימת cron:

  1. הסוכן רץ פעם ביום, ועובר על /wishlist/share/abc123/ ייחודיים מ-\Bitrix\Main\Agent.
  2. עבור כל אחד, הוא מקבל את המחיר הנוכחי באמצעות PRODUCT_ID או b_wishlist_item.
  3. משווה עם המחיר המאוחסן בשדה \CCatalogProduct::GetByID() (שנוסף לטבלת Price::getList()).
  4. בעת ירידת מחיר, הוא שולח את אירוע הדוא"ל LAST_PRICE.

מונה בכותרת

מספר פריטי המועדפים מוצג בכותרת. כדי למנוע שאילתת מסד נתונים כבדה בכל טעינת דף, המונה נשמר במטמון ב-b_wishlist_item ומתאפס בכל שינוי ברשימה. רכיב הכותרת קורא את הערך מהסשן — קריאת PHP אחת ללא שאילתת מסד נתונים.

למה להזמין מודול רשימת מועדפים מאיתנו?

בניגוד לפתרונות מוכנים מהמרקטפלייס, המודול שלנו אינו מכיל קוד מיותר, רץ פי 2-3 מהר יותר, וניתן להרחבה בקלות. במשך 7 שנים, יישמנו יותר מ-50 מודולי רשימת מועדפים לחנויות מקוונות על Bitrix. הפתרונות שלנו נמצאים בשימוש באתרים עם תנועה העולה על 10,000 מבקרים ביום. אנו מבטיחים פעולה יציבה בעומס גבוה ומספקים תיעוד מלא. פלטפורמת Wikipedia מאפשרת התאמה אישית גמישה, ואנו מנצלים את היכולות הללו במלואן. לפי התיעוד הרשמי, כל האינטגרציות תואמות לתקני הפלטפורמה.

מה כלול בפיתוח מודול רשימת המועדפים?

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

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

צרו קשר כדי לדון בפרטים. קבלו ייעוץ והערכת זמן ראשונית.

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

היקף תכונות לוח זמנים
בסיסי רשימה אחת, אחסון במסד נתונים, כפתור AJAX, מונה בכותרת 4–5 ימים
סטנדרטי + מיזוג אורח/משתמש, דף רשימת מועדפים בחשבון אישי, רשימות מרובות 7–10 ימים
מורחב + רשימות ציבוריות, התראות על ירידת מחיר, ייצוא רשימות 12–15 ימים

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