2014-11-24 3 views
1

Я ищу, чтобы перенести «клиентов» ZenCart на существующий веб-сайт Magento. Я попробовал два расширения от MagentoConnect; однако это не работает.ZenCart to Magento import

osCommerce Migration ToolosCommerce Import

Есть премиальные 3-миграционные службы партии доступных на рынке, однако я хотел бы сделать это самостоятельно. Пожалуйста, помогите мне, предоставив некоторые шаги для этого с помощью кода.

В настоящее время дзэн-корзина DB имеет префикс «zen_». Это будет причиной неудобств? пожалуйста, укажите мне исходную точку. Спасибо

ответ

1

Я сортировал это самостоятельно. Меня удивило то, что нет действительного документа о том, как импортировать клиентов из ZenCart/OsCommerce в Magento в любом месте в Интернете, если на каком-то форуме с премиальными расширениями Magento. Поэтому я размещаю здесь свое решение, которое поможет любому, кто ищет это решение.

Fetching ZenCart данные клиента

Очевидно ZenCart использует БД MySQL. Входите в MySQL и смотрите на клиентов стол. Используйте приведенную ниже команду соответственно.

use ZenCart_DB 
mysql> select * from customers\G 

Здесь вы можете увидеть информацию о своих клиентах ZenCart. Примерный результат будет таким же, как у каждого клиента.

customers_id: 1298 
     customers_gender: m 
    customers_firstname: firstname 
     customers_lastname: Lastname 
      customers_dob: 
customers_email_address: [email protected] 
      customers_nick: 
customers_default_address_id: 
    customers_telephone: 12345678 
      customers_fax: 
     customers_password: dd2df54a57a4d35ffd2985b3584f0831:2c 
    customers_newsletter: 0 
customers_group_pricing: 0 
    customers_email_format: TEXT 
customers_authorization: 0 
     customers_referral: 
customers_paypal_payerid: 
    customers_paypal_ec: 0 
      COWOA_account: 0 

Это образец, и мы должны забрать все эти данные клиента в файл unix.

select * from customers into outfile 'customer.txt'\G 

Теперь выходите из подсказки MySQL. Чтобы создать пользователя Magento, нам нужно только имя, фамилия, адрес электронной почты и пароль. Эти четыре детали являются обязательными. Следовательно grep эти детали из файла customer.txt.

Расположение Customer.txt файла будет /var/lib/mysql/ZenCart_DB/customer.txt

Grep необходимые данные клиента в различные отдельные файлы, которые помогут нам поставить их в для цикл позже.

awk {'print $3,$4,$7,$10'} customer.txt > details.txt 
awk {'print$1'} details.txt > zen_firstname 
awk {'print$2'} details.txt > zen_secondname 
awk {'print$3'} details.txt > zen_email 
awk {'print$4'} details.txt > zen_password 

Создание пользователя Magento

Нет, мы не собрали все детали. Теперь, чтобы создать тестовый пользователь Magento из бэкэнд, мы должны запустить 5 запросов MySQL в базе данных magento. Они,

INSERT INTO customer_entity (entity_id, entity_type_id, attribute_set_id, website_id, email, group_id, increment_id, store_id, created_at, updated_at, is_active, disable_auto_group_change) VALUES (1, 1, 0, 1, $email, 1, NULL, 4, 2014-11-24 11:50:33, 2014-11-24 12:05:53, 1, 0) 

INSERT INTO customer_entity_varchar (value_id, entity_type_id, attribute_id, entity_id, value) VALUES (1, 1, 5, 1, $firstname); 

INSERT INTO customer_entity_varchar (value_id, entity_type_id, attribute_id, entity_id, value) VALUES (2, 1, 7, 1, '$lastname'); 

INSERT INTO customer_entity_varchar (value_id, entity_type_id, attribute_id, entity_id, value) VALUES (3, 1, 12, 1, '$password'); 

INSERT INTO customer_entity_varchar (value_id, entity_type_id, attribute_id, entity_id, value) VALUES (5, 1, 3, 1, 'English'); 

Если у вас слишком много клиентов, чтобы добавить, то лучше вставьте их в цикл. Это необязательно для каждого человека. мы можем создать для цикл в bash или аналогичный в Perl или на каком бы языке вы ни находились.

Несколько вещей отметить,

  • значение ENTITY_ID является важным и оно должно быть одинаковым во всех 5 запросов. Он определяет идентификационный номер клиента.
  • value_id как серийный номер для строк в таблице customer_entity_varchar. Следуйте последовательности, как есть.
  • атрибут_ид должен храниться так, как он есть в последовательности 5,7,12,3, поскольку он представляет имена клиентов, имя, пароль, язык, соответственно.

Это все думаю. Благодарю. :)