מדריך הגדרת ייבוא/ייצוא מוצרים ב-Magento 2
ייבוא/ייצוא הוא הפעולה שצורכת הכי הרבה משאבים ב-Magento 2. מנגנון ה-CSV המובנה עם סכימת העמודות הנוקשה שלו נכשל לעיתים קרובות בקטלוגים של 10,000+ פריטי SKU: שגיאות זיכרון/פסק זמן, הקפאות של שעות. לדוגמה, עבור לקוח עם 150,000 מוצרים, צמצמנו את זמן הייבוא מ-8 שעות ל-40 דקות באמצעות מתאם מותאם אישית ועיבוד אסינכרוני דרך תורי RabbitMQ. הגדרה נכונה של גדלי אצווה (bunch_size), אינדוקס וניהול זיכרון פותרת את רוב הבעיות. אנחנו אינטגרטורים של Magento עם ניסיון של 7+ שנים, ופותרים מקרים כאלה באופן קבוע. מאמר זה הוא מדריך מעשי: נסקור פורמטי CSV, הגדרות שרת, שגיאות נפוצות ופתרונות. צרו קשר לבדיקת ייבוא—נציע את הפתרון האופטימלי. לאחר ההגדרה, אנו מבטיחים פעולה יציבה—כל השינויים עוברים בדיקות רגרסיה. תשומת לב מיוחדת מוקדשת ל-MSI, מוצרים הניתנים להגדרה ותמיכה רב-לשונית.
פורמטי CSV ומבנה
Magento 2 תומך בייבוא של ישויות: catalog_product, catalog_category, customer, customer_address, customer_finance, stock_sources (MSI).
עמודות נדרשות למוצרים:
| עמודה | תיאור | דוגמה |
|---|---|---|
sku |
מזהה ייחודי | prod-001 |
store_view_code |
ריק = היקף מנהל | ru, en |
attribute_set_code |
קבוצת תכונות | Default |
product_type |
סוג מוצר | simple, configurable |
name |
שם | Куртка зимняя |
price |
מחיר | 1299.00 |
qty |
כמות (מיושן, ללא MSI) | 100 |
visibility |
נראות | Catalog, Search |
status |
סטטוס | 1 |
עבור מוצרים הניתנים להגדרה, נדרשות עמודות נוספות: configurable_variations ו-configurable_variation_labels.
איך להאיץ ייבוא של 100,000 מוצרים?
הגדרות ברירת המחדל של Magento אינן מיועדות לנפחים גדולים. פרמטרים מרכזיים ב-app/etc/env.php ובתצורת השרת:
// Увеличение batch-размера для импорта
// app/code/Vendor/Import/etc/di.xml
<type name="Magento\ImportExport\Model\Import">
<arguments>
<argument name="data" xsi:type="array">
<item name="bunch_size" xsi:type="number">500</item>
</argument>
</arguments>
</type> # php.ini для процессов импорта
memory_limit = 2G
max_execution_time = 3600
max_input_time = 3600
# Отключение ненужных индексеров во время импорта
bin/magento indexer:set-mode schedule cataloginventory_stock catalog_product_price catalogsearch_fulltextאנו גם משתמשים בעיבוד אסינכרוני דרך תורי RabbitMQ—זה מפחית את עומס השרת פי 3 בהשוואה לגישה הסטנדרטית. המתאם המותאם אישית שלנו מבצע פי 4 טוב יותר מייבוא סטנדרטי עבור קטלוגים מעל 50,000 פריטי SKU.
השוואה בין פרמטרים ברירת מחדל לפרמטרים מותאמים:
| פרמטר | ברירת מחדל | מותאם |
|---|---|---|
| bunch_size | 200 | 500 |
| memory_limit | 512M | 2G |
| max_execution_time | 1800 | 3600 |
תצורה מותאמת זו מפחיתה את עלויות השרת ב-40%—חיסכון שנתי ממוצע של $2,400 עבור קטלוגים בינוניים.
הגדרת ייבוא שלב אחר שלב עבור הקטלוג שלך
- בדיקת סכימת הייבוא הנוכחית—בדיקת פורמטים, תכונות, מבנה.
- הגדרת פרמטרי שרת—memory_limit, execution_time, batch_size.
- הגדרת פרופיל ייבוא—ישות, התנהגות, מיפוי עמודות.
- פיתוח מתאם מותאם אישית—אם נדרשת אינטגרציה עם ERP/1C.
- בדיקה על נתוני דוגמה—עד 1000 פריטי SKU עם בקרת שגיאות.
- ריצה מלאה ואינדוקס מחדש—לאחר בדיקה מוצלחת.
למה ייבוא ב-Magento 2 דורש תצורה מותאמת אישית?
ייבוא סטנדרטי לא מטפל בתמונות, תכונות רב-לשוניות, מפתחות URL, קישורי קטגוריות. עבור סנכרון קבוע עם ERP/1C, אנו מפתחים מקורות נתונים מותאמים אישית המבוססים על // Увеличение batch-размера для импорта // app/code/Vendor/Import/etc/di.xml <type name="Magento\ImportExport\Model\Import"> <arguments> <argument name="data" xsi:type="array"> <item name="bunch_size" xsi:type="number">500</item> </argument> </arguments> </type> שממירים נתונים לפורמט תואם Magento. זה מבטיח יציבות ומפחית את זמן העיבוד ב-60%. המהנדסים שלנו השלימו מעל 50 פרויקטי אינטגרציה של Magento-to-ERP. קבלו ייעוץ—נסביר איך זה עובד עבור הפרויקט שלכם.
תיעוד הייבוא של Magento קובע שמתאמים מותאמים אישית מומלצים לתרחישים מורכבים.
ייבוא MSI (מלאי רב-מקור)
מאז Magento 2.3, ניהול המלאי משתמש ב-MSI. ייבאו מלאי לפי מקור:
source_code,sku,quantity,status warehouse-moscow,jacket-red-s,50,1 warehouse-spb,jacket-red-s,30,1 warehouse-moscow,jacket-red-m,0,0 bin/magento import:run \ --entity=stock_sources \ --behavior=append \ --input-file=var/import/stock_msi.csv לאחר הייבוא, יש להריץ אינדוקס מחדש: # php.ini для процессов импорта memory_limit = 2G max_execution_time = 3600 max_input_time = 3600 # Отключение ненужных индексеров во время импорта bin/magento indexer:set-mode schedule cataloginventory_stock catalog_product_price catalogsearch_fulltext .
דוגמה מלאה לתצורה לאופטימיזציה של ייבוא
# app/etc/env.php настройки для импорта
'import' => [
'bunch_size' => 500,
'product_import_image_dirs' => ['/pub/media/import'],
'retrieve_image_with_url' => false
]
# php.ini
memory_limit = 4G
max_execution_time = 7200 איך להפוך ייבוא לאוטומטי עם Cron?
עבור סנכרון ERP קבוע, אנו מגדירים משימת cron שמפעילה את AbstractSource עם פרמטרי ישות, התנהגות וקובץ. יומני ביצוע נכתבים ל-var/log/import.log. בשגיאות, המערכת שולחת הודעת Telegram. אנו גם מגדירים ניטור אינדוקס לאחר הייבוא. זה מאפשר עדכוני קטלוג יומיים ברקע ללא התערבות ידנית.
מה כלול בעבודה
- בדיקת סכימת הייבוא הנוכחית ותכונות מותאמות אישית.
- הגדרת גדלי אצווה, אינדוקס ופרופילי ייבוא.
- פיתוח מתאם לסנכרון עם ה-ERP/1C שלך.
- בדיקה על קטלוגים עד 100,000 פריטי SKU.
- תיעוד על פורמטים ונהלים.
- הדרכת המנהלים שלך על פעולות ייבוא.
- אחריות ליציבות ל-30 יום.
בעיות נפוצות ופתרונות
בעיות נפוצות כוללות מיצוי זיכרון (הגדל את memory_limit ל-2–4G והקטן את bunch_size ל-200–300), התנגשויות מפתח URL (השתמש בהתנהגות add_update או נקה את טבלת url_rewrite), קבוצת תכונות לא חוקית (ודא התאמה מדויקת של attribute_set_code לשם הקבוצה במסד הנתונים), ואינדוקס איטי (העבר את האינדקסרים למצב תזמון).
לוחות זמנים משוערים
- הגדרה ובדיקת ייבוא עד 1,000 פריטי SKU: יום אחד.
- פיתוח מתאם מותאם אישית לסנכרון ERP: 3–5 ימים.
- הגדרת ייבוא מתוזמן עם ניטור שגיאות: 2–3 ימים.
- העברת קטלוג של 50,000+ פריטי SKU מפלטפורמה אחרת: 5–10 ימים.
הזמינו בדיקת ייבוא—נעזור להגדיר את המערכת אפילו עבור הקטלוג המורכב ביותר.







