Добавление клиентов в Magento в необработанном SQL

Я новичок в Magento и хочу добавить информацию о клиенте в таблицу customer_entity Magento. Мой вопрос в том, если я запускаю следующий запрос (через PHP):

INSERT INTO 
    `customer_entity` ('entity_type_id', attribute_set_id, foo, bar, baz)
    values ('some', 'placeholder', 'values')"
);

Достаточно ли этого для создания надлежащей записи клиента? Когда я смотрю на базу данных, я вижу много таблиц, связанных с клиентами, например,

  • customer_entity_datetime
  • customer_entity_decimal
  • customer_entity_int
  • customer_entity_text
  • customer_entity_varchar
  • customer_group

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

Как я могу это сделать?


person mark rammmy    schedule 16.11.2010    source источник


Ответы (2)


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

Пользовательские данные в Magento растянуты между customer_entity_* таблицами, о которых вы упомянули, и добавление новых данных в систему потребует от вас захвата каждого из определений столбцов (из eav_attribute) и размещения данных соответствующим образом. Это еще большая боль, чем кажется.

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

Надеюсь, это поможет!

Спасибо, Джо

person Joseph Mastey    schedule 16.11.2010

Вы избавите себя от многих проблем, используя структуру Magento.

require PATH_TO_MAGENTO_FOLDER . '/app/Mage.php';
Mage::app();

$newCustomer = Mage::getModel('customer/customer');
$newCustomer->setFirstname('Foo')
            ->setLastname('Bar')
            ... // Set all the various details here
            ->save();

Попытка обрабатывать различные таблицы сущностей — это путь к катастрофе, поскольку они могут быть значительно изменены путем обновления/добавления новых расширений в Magento, которые затем сломают ваш скрипт.

person clockworkgeek    schedule 16.11.2010