Чтобы найти первый логин клиента - PullRequest
5 голосов
/ 06 декабря 2011

Magento 1.6.

В коде обработки логина можно узнать, когда пользователь / клиент вошел в систему в первый раз?

Ответы [ 2 ]

3 голосов
/ 07 декабря 2011

Если ваш Magento настроен , а не для использования двойной регистрации (подтверждение по электронной почте) для регистрации клиентов, то вы можете использовать то, что @PauGNU уже опубликовало:

$created_at = $customer->getCreatedAt();

Но когда дело доходит до двойной подписки, Magento создает учетную запись клиента немедленно , то есть устанавливает created_at на текущее системное время, но не активирует его (так что клиент не может войти до подтверждение) и отправляет только подтверждение по почте.

Это означает неизвестную задержку (минуты, дни, недели и т. Д.) Между created_at и самым первым входом в систему, поэтому created_at больше не будет полезен.

На самом деле, Magento имеет место, где время входа клиента отслеживается по умолчанию: поле таблицы log_customer.login_at, доступное, например, Mage_Log_Model_Customer.

Но, если вы планируете его использовать:

  • по умолчанию у класса нет метода для получения самого первого входа в систему. Тебе нужно разработать это самостоятельно.
  • Если «Очистка журнала» активна (чтобы уменьшить размер базы данных), вы потеряете время входа в систему.

В этом случае я бы предпочел определить наиболее подходящее событие, подключиться к нему и сохранить только самое первое время входа для каждого клиента в отдельную таблицу.

0 голосов
/ 06 декабря 2011

Учитывая, что первый логин всегда происходит, когда клиент регистрируется в сети, вам нужно только проверить поле «create_at» в таблице customer_entity.

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

$created_at = $customer->getCreatedAt();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...