Определение зарегистрированных клиентов программно в Magento

Есть ли способ определить, какие клиенты на самом деле зарегистрированы для учетной записи и имеют пароль (в отличие от клиентов гостевой проверки) в Magento? В частности, я пытаюсь определить, где эта информация может храниться в базе данных, или как я могу определить эту информацию программно.

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

2 ответа

Решение

Вы можете найти всех зарегистрированных клиентов в customer_entity Таблица.

Если вы хотите экспортировать всех клиентов через базу данных, убедитесь, что вы экспортируете также следующие таблицы:

customer_address_entity
customer_address_entity_datetime
customer_address_entity_decimal
customer_address_entity_int
customer_address_entity_text
customer_address_entity_varchar
customer_eav_attribute
customer_eav_attribute_website
customer_entity
customer_entity_datetime
customer_entity_decimal
customer_entity_int
customer_entity_text
customer_entity_varchar
customer_form_attribute

Если вы хотите сделать это с помощью кода, вы можете получить все зарегистрированные клиенты, как это:

$collection = mage::getModel('customer/customer')->getCollection();

Когда клиент размещает заказ в Magento, используя гостевую кассу, информация о клиенте сохраняется только в квоте и заказе. В этом случае клиент не создается в системе.

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

Поэтому, если у вас нет настроек, которые создают клиентов при оформлении заказа, вы можете перенести всех клиентов.

DB: все записи customer_entity, customer_address_entity и соответствующих атрибутов eav.

PHP: использование коллекций

Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('*');

Mage::getModel('customer/address')->getCollection()->addAttributeToSelect('*');

Другие вопросы по тегам