פתרונות הייבוא והייצוא שלנו ל-OpenCart כוללים ייבוא CSV ל-OpenCart, ייבוא YML ל-OpenCart, וסנכרון 1C עם OpenCart. כאשר הקטלוג שלך מגיע ל-3,000 מוצרים, עדכון ידני של מחירים ומלאי צורך עד 40 שעות בחודש. בעיות נפוצות: פריטים שהוחמצו, מחירים שגויים, וריאנטים שאבדו. פריט אחד עם מחיר שגוי יכול לגרום להפסדים משמעותיים. אנו מבצעים אוטומציה של ייבוא/ייצוא מקצה לקצה—מטעינת CSV ראשונית ועד סנכרון דו-כיווני עם 1C ומערכות ERP. במשך חמש שנים, השלמנו יותר מ-50 אינטגרציות לקטלוגים הנעים בין 500 ל-50,000 SKU. אוטומציה מבטלת טעויות אנוש ושומרת על הקטלוג שלך מעודכן ללא התערבות מפעיל. אוטומציה זו מפחיתה עבודה ידנית בעד 90% ומקטינה את שיעור השגיאות ב-99%. השקעה אופיינית: $500–$2,000 עבור סקריפט ייבוא/ייצוא מותאם אישית, עם חיסכון חודשי של $2,000+ בעבודה ידנית.
מניעת אובדן נתונים באמצעות אוטומציה
אנו מיישמים ולידציה בשלב הטעינה: בדיקת קידוד, כפילויות ושדות חובה. לדוגמה, בעת ייבוא של 10,000 שורות עם קידוד שגוי, הסקריפט מדגיש שגיאות מיד ומונע כתיבת נתונים פגומים. עדכוני cron מתוזמנים למחירים ומלאי פועלים ללא מעורבות מפעיל. גם עם עדכונים יומיים של 5,000 פריטים, הטעינה מסתיימת תוך פחות מ-15 דקות. אם יש התנגשות פורמטים—למשל, Windows-1251 מול UTF-8—אנו ממירים אוטומטית, מחליפים מפרידים, וממפים ערכים בוליאניים לא סטנדרטיים.
כיצד אנו מבטיחים איכות ייבוא
לפני כל ריצה, אנו יוצרים גיבוי למסד הנתונים. הייבוא מתבצע בטרנזקציה—אם מתרחשת שגיאה, ניתן לבצע rollback לשינויים. היומן כולל סטטיסטיקות מפורטות: כמה רשומות נוצרו, עודכנו, או דולגו. כל השגיאות נכתבות לקובץ נפרד לניתוח. אנו משיגים דיוק נתונים של 99.9% במהלך ייבואים.
אנו משתמשים בסקריפטים מותאמים אישית ב-PHP שעובדים ישירות עם מסגרת OpenCart. זה נותן שליטה מלאה על התהליך וביצועים גבוהים בהרבה ממודולים סטנדרטיים. סקריפט מותאם אישית הוא פי 12 מהיר יותר ממודול סטנדרטי: עיבוד 1,000 מוצרים ב-10 שניות לעומת 2 דקות.
מקרים שבהם יש צורך בסקריפט מותאם אישית במקום מודול סטנדרטי
ייבוא ה-CSV המוגדר כברירת מחדל דרך admin > Catalog > Import כולל פורמט נוקשה: עמודות קבועות, ללא תמיכה בווריאנטים, מאפיינים, שדות SEO, או תוכן רב-לשוני. הוא מתאים רק למקרים הפשוטים ביותר.
טבלאות המושפעות במהלך ייבוא מלא:
| טבלה | תוכן |
|---|---|
oc_product |
שדות ליבה: מחיר, משקל, דגם, סטטוס |
oc_product_description |
טקסטים תלויי שפה |
oc_product_to_category |
קישורי קטגוריות |
oc_product_to_store |
קישורי חנות |
oc_product_attribute |
ערכי מאפיינים |
oc_product_option |
אפשרויות (צבע, מידה) |
oc_product_option_value |
ערכי אפשרויות עם מלאי |
oc_product_image |
תמונות נוספות |
oc_product_to_layout |
פריסת SEO |
למיפויים מורכבים, אנו נעזרים בסקריפטים או מודולים מותאמים אישית. השוואה בין מודולים פופולריים:
| מודול | פורמטים | גמישות | עלות |
|---|---|---|---|
| QuickAdmin / Журнал3 | CSV | נמוכה | חינם בחלק מהערכות |
| Spreadsheet Price Manager | Google Sheets API | בינונית | בתשלום |
| Import/Export Pro (iSenseLabs) | CSV, XML, XLS, JSON | גבוהה | בתשלום |
| D-Import | CSV, XML | גבוהה (ביצועים) | בתשלום |
סקריפט מותאם אישית עולה על כל מודול בגמישות—הוא יכול לעבד כל פורמט, לבצע הורדות תמונות במקביל, ולהשתלב עם כל API. עלויות הגדרה לסקריפט מותאם אישית מתחילות ב-$500, עם ROI אופייני של $2,000 בחודש בחיסכון בעבודה ידנית.
ייבוא מותאם אישית באמצעות סקריפט
דוגמה לסקריפט CLI לייבוא
<?php // tools/import_products.php
define('DIR_APPLICATION', __DIR__ . '/../admin/');
define('DIR_SYSTEM', __DIR__ . '/../system/');
// ... остальные константы
require_once(DIR_SYSTEM . 'startup.php');
require_once(DIR_APPLICATION . 'config.php');
$registry = new Registry();
// инициализация DB, Config, Load...
$csv = new SplFileObject('/tmp/products_feed.csv');
$csv->setFlags(SplFileObject::READ_CSV | SplFileObject::SKIP_EMPTY);
$csv->setCsvControl(';', '"');
$headers = $csv->current(); // первая строка — заголовки
$csv->next();
$db->query("SET foreign_key_checks = 0");
$db->query("SET unique_checks = 0");
while (!$csv->eof()) {
$row = array_combine($headers, $csv->current());
$csv->next();
if (empty($row['model'])) continue;
// Проверяем существование по model
$existing = $db->query(
"SELECT product_id FROM oc_product WHERE model = '" . $db->escape($row['model']) . "' LIMIT 1"
);
if ($existing->num_rows) {
$product_id = $existing->row['product_id'];
// UPDATE
$db->query("UPDATE oc_product SET price = '" . (float)$row['price'] . "', quantity = '" . (int)$row['quantity'] . "', date_modified = NOW() WHERE product_id = $product_id" );
} else {
// INSERT + описание + категории
// ...
}
}
$db->query("SET foreign_key_checks = 1");
$db->query("SET unique_checks = 1");
סקריפט כזה רץ דרך cron: <?php // tools/import_products.php define('DIR_APPLICATION', __DIR__ . '/../admin/'); define('DIR_SYSTEM', __DIR__ . '/../system/'); // ... остальные константы require_once(DIR_SYSTEM . 'startup.php'); require_once(DIR_APPLICATION . 'config.php'); $registry = new Registry(); // инициализация DB, Config, Load... $csv = new SplFileObject('/tmp/products_feed.csv'); $csv->setFlags(SplFileObject::READ_CSV | SplFileObject::SKIP_EMPTY); $csv->setCsvControl(';', '"'); $headers = $csv->current(); // первая строка — заголовки $csv->next(); $db->query("SET foreign_key_checks = 0"); $db->query("SET unique_checks = 0"); while (!$csv->eof()) { $row = array_combine($headers, $csv->current()); $csv->next(); if (empty($row['model'])) continue; // Проверяем существование по model $existing = $db->query( "SELECT product_id FROM oc_product WHERE model = '" . $db->escape($row['model']) . "' LIMIT 1" ); if ($existing->num_rows) { $product_id = $existing->row['product_id']; // UPDATE $db->query("UPDATE oc_product SET price = '" . (float)$row['price'] . "', quantity = '" . (int)$row['quantity'] . "', date_modified = NOW() WHERE product_id = $product_id" ); } else { // INSERT + описание + категории // ... } } $db->query("SET foreign_key_checks = 1"); $db->query("SET unique_checks = 1");
פורמטי מקור נתמכים
CSV מספק — הנפוץ ביותר. אתגרים: קידוד (Windows-1251 מול UTF-8), מפריד (0 6 * * * php /var/www/opencart/tools/import_products.php >> /var/log/oc_import.log 2>&1 מול ;), ערכים בוליאניים לא סטנדרטיים (,, да/нет, 1/0). נורמליזציה אוטומטית, אך גם המרה ידנית דרך true/false ו-iconv אפשרית.
XML (YML — פורמט Yandex.Market) — סטנדרטי לשוק הרוסי. מנותח דרך sed או SimpleXML (לקבצים גדולים > 50 MB).
REST API של ספק — שליפת נתונים דרך HTTP עם פגינציה. אנו מעבדים אלפי רשומות בדקה.
ייצוא למערכות חיצוניות
ייצוא ל-Google Merchant Center (פורמט GMC) יוצר הזנת RSS/Atom. דוגמה ליצירה:
// Генерация RSS/Atom фида для GMC
header('Content-Type: application/xml; charset=utf-8');
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">';
echo '<channel>';
$products = $db->query(" SELECT p.*, pd.name, pd.description FROM oc_product p JOIN oc_product_description pd ON pd.product_id = p.product_id WHERE p.status = 1 AND pd.language_id = 1 LIMIT 5000 ");
foreach ($products->rows as $p) {
echo '<item>';
echo '<g:id>' . $p['model'] . '</g:id>';
echo '<g:title><![CDATA[' . $p['name'] . ']]></g:title>';
echo '<g:price>' . number_format($p['price'], 2, '.', '') . ' RUB</g:price>';
echo '<g:availability>' . ($p['quantity'] > 0 ? 'in_stock' : 'out_of_stock') . '</g:availability>';
echo '</item>';
}
echo '</channel></rss>'; טיפול בתמונות ורישום יומן
הורדת תמונות לפי URL היא צוואר בקבוק בייבוא המוני. גישה אופטימלית: תור + הורדה במקביל דרך XMLReader. כל ייבוא מסתיים בדוח:
Import started: feed.csv (4821 rows) Created: 12, Updated: 4791, Skipped: 18, Errors: 0 Import finished in 152s עבור שגיאות שורות, נוצר קובץ נפרד // Генерация RSS/Atom фида для GMC header('Content-Type: application/xml; charset=utf-8'); echo '<?xml version="1.0" encoding="UTF-8"?>'; echo '<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">'; echo '<channel>'; $products = $db->query(" SELECT p.*, pd.name, pd.description FROM oc_product p JOIN oc_product_description pd ON pd.product_id = p.product_id WHERE p.status = 1 AND pd.language_id = 1 LIMIT 5000 "); foreach ($products->rows as $p) { echo '<item>'; echo '<g:id>' . $p['model'] . '</g:id>'; echo '<g:title><![CDATA[' . $p['name'] . ']]></g:title>'; echo '<g:price>' . number_format($p['price'], 2, '.', '') . ' RUB</g:price>'; echo '<g:availability>' . ($p['quantity'] > 0 ? 'in_stock' : 'out_of_stock') . '</g:availability>'; echo '</item>'; } echo '</channel></rss>'; עם מספרי שורות ותיאורים.
מה כלול בהגדרה
- אבחון מבנה הקטלוג הנוכחי ופורמט נתוני הספק.
- פיתוח סקריפט ייבוא/ייצוא המותאם לדרישותיך.
- הגדרת לוח זמנים של cron לעדכונים אוטומטיים.
- ריצת בדיקה על עותק של מסד הנתונים.
- תיעוד והוראות שימוש.
- תמיכה חינמית ל-30 יום לסקריפט.
לוח זמנים
הגדרה של מודול מוכן עם מיפוי לפורמט ספק ספציפי: 1–2 ימים. סקריפט מותאם אישית עם תמיכה ב-XML/API, העלאת תמונות ורישום יומן: 3–5 ימים. סנכרון דו-כיווני מלא עם 1C או ERP: 1–3 שבועות בהתאם למורכבות המיפוי. עלות: מ-$500 לסקריפט בסיסי.
צור קשר להערכת פרויקט. נכין הצעה עם לוחות זמנים ועלויות מדויקים. קבל ייעוץ—נענה לשאלותיך תוך שעה.
מידע נוסף על CSV ותיעוד רשמי של OpenCart.
הפתרונות שלנו מכסים את כל ההיבטים: ייבוא מוצרים ל-OpenCart, ייצוא מוצרים מ-OpenCart, הגדרת ייבוא ל-OpenCart, ייבוא CSV ל-OpenCart, ייבוא YML ל-OpenCart, סנכרון 1C עם OpenCart, מודול ייבוא ל-OpenCart, ייבוא אוטומטי ל-OpenCart, טיפול בתמונות ב-OpenCart, סקריפט ייבוא מותאם אישית ל-OpenCart, אינטגרציית 1C עם OpenCart, וייבוא מוצרים ל-OpenCart.







