Here is instruction on how to import customers, orders, categories, products and images from ZenCart or OsCommerce to Magento.
1) Install osCommerce Migration Tool
ZenCart and OsCommerce databases are equal, because ZenCart is an OsCommerce fork project.
osCommerce Migration Tool was developed by Magento Core team, you can install it from MagentoConnect here:
http://www.magentocommerce.com/magento-connect/Magento+Core/extension/114/os-commerce-import
2) Replace Run.php file with the latest version:
Replace /app/code/core/Mage/Oscommerce/Block/Adminhtml/Import/Run.php file with the latest version from the Magento repository:
For Magento 1.5.x:
http://svn.magentocommerce.com/source/branches/1.5-trunk/app/code/core/Mage/Oscommerce/Block/Adminhtml/Import/Run.php
For Magento 1.4.x:
http://svn.magentocommerce.com/source/branches/1.4-trunk/app/code/core/Mage/Oscommerce/Block/Adminhtml/Import/Run.php
For Magento 1.3.x:
http://svn.magentocommerce.com/source/branches/1.3-trunk/app/code/core/Mage/Oscommerce/Block/Adminhtml/Import/Run.php
3) Copy images
Copy all of your category and product images using FTP client into the Media > Import directory in the root of your Magento installation. Enable write permissions for all copied folders and files.
4) Create copy of the OsCommerce or ZenCart database, create Magento DB dump
Using phpMyAdmin or MySQL console tool, copy your existing OsCommerce or ZenCart database into new one.
Don't forget to create Magento DB dump as well.
5) Set up osCommerce (ZenCart) import profile in Magento
Fill in form:
- Name: name of the import profile
- IP or Hostname of the OsCommerce/ZenCart database
- DB name: name of the OsCommerce/ZenCart database
- DB username and password: password for login access to osCommerce/ZenCart database
- Prefix: prefix tables in osCommerce/ZenCart
6) Run import profile
- Click on Check Requirements to access osCommerce/ZenCart database (If successful you should now see a General Information section and import options).
- Select an existing Magento website from the pulldown menu for importing (Magento will create a store view for each of your osCommerce language packages).
- Categories: Check to import all osCommerce/ZenCart categories with tree structure
- Customers: Check to import all customer info (osCommerce/ZenCart customers will be able to use same login and password in Magento)
- Orders: Order records will be stored separate of Magento orders and will be viewable only through the customer's My account section > Order history or through the Magento admin.
Click on the "Start Running" button to begin the import (If successful you should see a chart with the total of records found, imported, and failed to import).
7) Refresh Magento Cache and view your osCommerce catalog in Magento!
But the products attributes was not imported!
There is a way for import the zencart attributes in the magento store??
Thank you!!
P.S. Sorry for my english :-)
> I have noticed that the manufacturers are not imported, is there any way to do so?
It is not supported.
@ Hassan
> Exception printing is disabled by default for security reasons.
You can find errors in the /var/report
@ Lunica
> contains one mad bug, if u are working on osCommerce/ZenCart – database tables with prefixes
Thank you for contribution.
the function getCustomers in
app/code/core/Mage/Oscommerce/Model/Mysql4/Oscommerce.php
contains one mad bug, if u are working on osCommerce/ZenCart - database tables with prefixes
look at lines
$select .= " ,`c`.`customers_default_address_id` `default_billing` FROM `{$this->getOscTable('customers')}` c";
$select .= " LEFT JOIN `customers_info` ci ON `ci`.`customers_info_id`=`c`.`customers_id` ";
you'll notice, that the JOIN is done on hardcoded tablename "customers_info". this will always fail for prefixes
replace with
$select .= " ,`c`.`customers_default_address_id` `default_billing` FROM `{$this->getOscTable('customers')}` c";
$select .= " LEFT JOIN `{$this->getOscTable('customers_info')}` ci ON `ci`.`customers_info_id`=`c`.`customers_id` ";
greetz
Exception printing is disabled by default for security reasons.
Please help.
awesome guide, thank you very much.
I have noticed that the manufacturers are not imported, is there any way to do so?
Cheers,
Luigi
Make sure that you entered correct MySQL tables prefix for osCommerce/ZenCart database.
If the issue is still there, please contact our support team: http://turnkeye.com/contact_us.html
Starting profile execution, please wait...
Warning: Please don't close window during importing/exporting data
Products processed 0% 0/148 records
Iam stucking at this.
Please help me to solve this issue.
It looks like server side issue. Try to contact your hosting support to resolve the "SQLSTATE[HY000] [2003] Can’t connect to MySQL server" error.
Im tring to import to 1.7 but I cant even establish the MySql Connection, keep reciving: SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'X.X.X.X (4) and I know the details are ok.. I only doubt that the server refuses outcoming connections.
In the oscommerce configure.php as server I have localhost... And Ive used the result of pinging my domain as server using this plugin, but I get that error.. any ideas?
Thx!
Thank you for sharing, we updated the article for 1.5.x version.
As for thumbnails, please make sure that it was imported correctly. Place images to Media > Import folder and check the permissions.
If you need any help, feel free to contact us.