Определение зарегистрированных клиентов программно в 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('*');