Миграция данных продуктов из opencart в magento

У меня есть сайт корзины покупок на основе opencart..

теперь я хотел бы преобразовать его в сайт magento..

Я сделал новую установку magento. Теперь мне нужно перенести данные из моей базы данных opencart в новую базу данных magento

Так может ли кто-нибудь дать мне имена таблиц и сказать мне, что я должен сделать для успешной миграции?

спасибо

2 ответов


в первую очередь

оцените, что вы хотите импортировать в Magento. Чем яснее ответ на вопрос, тем легче будет оценить ваши варианты.

в основном, эти параметры включают импорт данных через встроенный импорт (встроенные пути), импорт данных через пользовательский скрипт (кстати скрипт), импорт данных через простой SQL (ужасный, ужасный путь SQL) и импорт через внешние модули (модуль способ).


построенный в пути

во-первых, вы можете импортировать данные csv через бэкэнд, если вы можете принести свои продукты/клиенты на основе opencart в формате CSV, который затем может быть реимпортирован в бэкэнд-см здесь или здесь (только продукты).

это решение зависит от того, как вы можете экспортировать данные из открытой корзины, в которой я, честно говоря, не эксперт. Пока вы можете экспортировать для XLS, CSV или подобных, Вы должны быть в порядке.

кстати скрипт

если вы не можете этого сделать, я бы посоветовал написать сценарий импорта, используя собственные модели Magento. Очень простой фрагмент, чтобы вы начали:

<?php
//place this file in the Magento root, e.g. ./import.php, "." being you Magento root
//load the magento app with the admin store 
require_once('app/Mage.php');
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

//data import, I assume you can write some sort of input for this $data like reading a zip file or some other format, i here, I assume, this $data array holds arrays of products ($new_product) containing information on a product from open cart
$data = ...

// loop over the data and create the Magento models, these can include products, customers, etc. - for simplicity this is done for products, but can be done for every other data object in magento
foreach ($data as $new_product) {
    //load an empty Magento product model
    $product = Mage::getModel('catalog/product');

    //set the attributes you want
    $product->setData('sku', $new_product['sku']);
    $product->setData('name', $new_product['name']);

    .
    .
    . 
    //save it
    try {
        $product->save();
    }
    catch(Exception $e) {
        Mage::logException($e);
        continue;
    }
}

это пример использования Mage_Catalog_Model_Product, другие типы данных могут быть Mage_Sales_Model_Order для заказов или Mage_Customer_Model_Customer для клиентов. Я могу вспомнить код для некоторых вызовов экземпляра объекта данных в стиле Magento из память:

  • Mage_Catalog_Model_Product может быть использован в качестве Mage::getModel('catalog/product')
  • Mage_Catalog_Model_Category может быть использован в качестве Mage::getModel('catalog/category')
  • Mage_Customer_Model_Customer может быть использован в качестве Mage::getModel('customer/customer')
  • Mage_Sales_Model_Order может быть использован в качестве Mage::getModel('sales/order')

эти вызовы можно искать в соответствующих основных модулях-иногда они варьируются в разных версиях Magento.

вы можете узнать их, посмотрев в ./app/code/core/Mage/ и посмотрите через модули' Model папки, где вы можете найти классы выше в конвенциях именования на основе папок, например Mage_Catalog_Model_Product карты ./app/code/core/Mage/Catalog/Model/Product.php.

модель обычно имеет метод init под названием _construct (т. е. не PHP __construct!) который определяет строку, в которой модель может быть создана с помощью via Mage::getModel().

более полное описание импорта продуктов можно найти здесь. Стиль почти всегда остается неизменным. объекты данных в Magento.

это более длительный вариант, но вы можете узнать много о внутренней обработке данных Magento. Кроме того, вы не обязательно необходимо знать datatables в фоновом режиме.

это много помощи по этой теме также в базах знаний Magento. Опять же, если вы хотите узнать Magento, это хороший способ начать.

путь SQL

вы также можете сделать простой SQL для заполнения Magento таблицы.

не делай этого. Вы обнаружите, что пишете SQL для каждой другой версии Magento, если вы делаете это через скрипт, делайте это через фреймворк Magento.

путь модуля

есть некоторые модули, которые мы использовали в прошлом для импорта больших объемов данных, так как метод скрипта, который я показал выше, не очень эффективен для больших объемов данных. Я не уверен, что некоторые из них активно поддерживаются, но это хорошая идея, чтобы совать нос Magento Connect. В зависимости от того, что вы используете, эти модули не могут быть бесплатными для вас.

последние мысли.

я бы очень посоветовал вам создать пользовательский скрипт, так как это отличный способ узнать Magento. Если вы не заботитесь о программировании, вы должны заглянуть в встроенный импортер.

если еще вопросы останутся, спрашивай :)


пожалуйста, обратитесь к моему учебнику, в котором объясняется, как импортировать продукт и категории с помощью Magento script.

http://www.pearlbells.co.uk/import-products-magento-script/

шаг за шагом объяснение

  1. параметры атрибута import
  2. импорт категорий magento
  3. чтение данных CSV
  4. импорт простых продуктов
  5. импорт настраиваемых продуктов
  6. импорт товара Изображения
  7. добавить сопутствующие товары
  8. импорт цен уровня