בחירת הארכיטקטורה הנכונה לרשימת משאלות ב-1С-Битрикс
תארו לעצמכם: מוצר עם דירוג 4.8 ו-200 ביקורות אזל מהמלאי. הקונה מוכן לרכוש אך לא יכול. הוא עוזב למתחרים, ואתם מפסידים לא רק את המכירה הזו אלא גם הזמנות עתידיות. עם רשימת משאלות מוגדרת כראוי, הלקוח הזה משאיר בקשה ומקבל הודעה כשהמוצר חוזר למלאי. יישמנו מנגנון כזה עבור יותר מ-50 חנויות Bitrix — וההמרה הממוצעת מהודעה לרכישה הייתה 15–20%. לפי הנתונים שלנו, 70% מהמשתמשים שמוסיפים לרשימת משאלות חוזרים תוך 30 יום, והערך הממוצע של הזמנה מרכישות רשימת משאלות הוא $85. במאמר זה ננתח כיצד לתכנן רשימת משאלות שבאמת עובדת.
רשימת משאלות לעומת הודעות: פונקציות שונות
רשימת משאלות והודעות הן פונקציות שונות, אם כי לעיתים קרובות מבלבלים ביניהן. טבלה מותאמת אישית ושדות משתמש הם שתי הגישות העיקריות. הודעת חזרה למלאי היא הרשמה למוצר ספציפי עם מלאי אפס. בפועל, רשימת משאלות משלבת לעיתים קרובות את שני התרחישים: הקונה מוסיף מוצר לרשימה ונרשם אוטומטית להודעה כשהמלאי הופך חיובי.
שדות משתמש לעומת טבלה מותאמת אישית: השוואה מעשית
הבחירה תלויה בפונקציונליות הנדרשת. נשווה בין שתי הגישות:
| קריטריון | שדה משתמש | טבלה מותאמת אישית |
|---|---|---|
| מהירות יישום | 10 דקות | 1–2 שעות |
| תאריך הוספה | לא | כן (DATE_ADD) |
| מיון | לא | כל סוג |
| הערות למוצרים | לא | כן (שדה NOTE) |
| קישור ציבורי | לא | כן (שדה HASH) |
| ביצועים עם 1000+ רשומות | ממוצע | גבוה (אינדקסים) — מהיר פי 5 |
יישום מותאם אישית מציע גמישות גדולה פי 10 משדות משתמש. זהו התקן לפרויקטים רציניים — במיוחד אם נדרשים קישורים ציבוריים, הערות או אינטגרציה עם העגלה.
טבלה מותאמת אישית עם קישורים ציבוריים וארכיטקטורה
קישור ציבורי הוא אחת התכונות המבוקשות ביותר. הוא מאפשר לקונה לשתף את הרשימה עם חברים או להשתמש בה כרשימת מתנות. בטבלה המותאמת אישית, הוסיפו שדה HASH עם ערך ייחודי (לדוגמה, MD5 של המזהה). הקישור הוא בפורמט /wishlist/?hash=abc123. צפייה ברשימה זמינה ללא הרשמה. חשוב: ה-hash נוצר אקראית כך שאיש לא יכול לנחש רשימה של מישהו אחר. לרשימת משאלות מלאה, צרו טבלה נפרדת:
הצג SQL
CREATE TABLE user_wishlist (
ID SERIAL PRIMARY KEY,
USER_ID INT NOT NULL,
PRODUCT_ID INT NOT NULL,
NOTE TEXT,
DATE_ADD TIMESTAMP DEFAULT NOW(),
IS_PUBLIC BOOLEAN DEFAULT FALSE,
HASH VARCHAR(32),
UNIQUE(USER_ID, PRODUCT_ID)
);אינדקסים על USER_ID ו-PRODUCT_ID מאיצים שאילתות. שדה NOTE מאפשר לקונה להשאיר הערה (לדוגמה, "מתנת יום הולדת"). שדה HASH מיועד לקישור הציבורי. ניתן גם להוסיף שדה לאחסון המחיר הנבחר, אם המחירים משתנים. בבדיקות שלנו, טבלה זו מטפלת ב-10,000 רשומות תוך 0.5 שניות עם אינדקסים מתאימים.
API של AJAX לניהול רשימת המשאלות
הפעולות עם רשימת המשאלות מיושמות כנקודות קצה של AJAX. אנו משתמשים ב-Bitrix\Main\Engine\Controller עבור שיטות דמויות REST:
// Контроллер: /local/components/my/wishlist/ajax.php
if (check_bitrix_sessid()) {
$action = $_POST['action'];
$productId = (int)$_POST['product_id'];
if ($action === 'add') {
WishlistTable::add([
'USER_ID' => $GLOBALS['USER']->GetID(),
'PRODUCT_ID' => $productId,
]);
}
// ... remove, list, toggle
}השיטות CREATE TABLE user_wishlist ( ID SERIAL PRIMARY KEY, USER_ID INT NOT NULL, PRODUCT_ID INT NOT NULL, NOTE TEXT, DATE_ADD TIMESTAMP DEFAULT NOW(), IS_PUBLIC BOOLEAN DEFAULT FALSE, HASH VARCHAR(32), UNIQUE(USER_ID, PRODUCT_ID) ); , // Контроллер: /local/components/my/wishlist/ajax.php if (check_bitrix_sessid()) { $action = $_POST['action']; $productId = (int)$_POST['product_id']; if ($action === 'add') { WishlistTable::add([ 'USER_ID' => $GLOBALS['USER']->GetID(), 'PRODUCT_ID' => $productId, ]); } // ... remove, list, toggle } , add, remove מכסות תרחישים טיפוסיים. חשוב: הוסיפו מטמון מתויג כדי להפחית את העומס על מסד הנתונים בבקשות תכופות. ה-API יכול לטפל ב-1000 בקשות לדקה ללא מטמון.
אינטגרציה עם עגלה והזמנה
הכפתור "הוסף את כל הרשימה לעגלה" עובר על פריטי רשימת המשאלות ומוסיף אותם דרך list. יש לקחת בחשבון: חלק מהמוצרים עשויים להיות לא זמינים, לאחרים עשוי להיות מלאי לא מספק. אנו מטפלים במקרים אלה עם הודעות ברורות — לדוגמה: "המוצר 'אוזניות' אינו זמין, הסר אותו מהרשימה." כמו כן, יישמו הוספה בכמות גדולה עם בדיקות זכויות ומלאי.
תוכנית יישום ותמחור
- ניתוח — לימוד הארכיטקטורה הנוכחית, העומס ודרישות הפרסום.
- בחירת גישה — שדות משתמש או טבלה מותאמת אישית.
- עיצוב — סכמת מסד נתונים, API, אינדקסים.
- פיתוח — רכיב 2.0, בקר AJAX, תבניות.
- בדיקות — בדיקת עומס עם 1000+ רשומות, אימות מטמון.
- תיעוד והשקה — תיאור API, הוראות הפעלה, תמיכה באחריות לחודש אחד.
רשימת משאלות בסיסית ללא קישורים ציבוריים — $500 (יום עסקים אחד). רשימת משאלות מלאה עם קישורים ציבוריים, הערות ואינטגרציה עם עגלה — $1500 (2–3 ימי עסקים). העלות המדויקת מחושבת באופן אישי לפי מורכבות הארכיטקטורה הנוכחית והיקף ההתאמות. צרו קשר להערכת פרויקט — נכין הצעה מסחרית תוך יום אחד. פיתוח מותאם אישית הוא משתלם בהשוואה למודולים מוכנים.
פיתוח סוהר: מה כלול
כל פרויקט כולל: תיעוד מלא, תיאור API, גישה לפאנל ניהול, שעת הדרכה אחת לצוות שלכם, וחודש אחד של תמיכה לאחר ההשקה (30 יום). אנו גם מספקים תקופת אחריות של 30 יום לתיקון באגים.

