Заставлять клиентов обновлять информацию об учетной записи


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

Author: Marius, 2015-10-22

1 answers

Это не решение, это просто идея.
Добавьте новый атрибут клиента с именем profile_updated. Это должен быть флаг "да/нет".
Затем создайте наблюдателя для события controller_action_predispatch (которое отправляется для всех страниц), где вы проверяете это:

  • если клиент не вошел в систему, ничего не предпринимайте
  • если клиент вошел в систему
    • если действие "страница редактирования профиля" или "действие сохранения профиля", ничего не делайте
    • если действие не является одним из 2 выше
      • если флаг profile_updated равен false, перенаправьте клиента на страницу редактирования его/ее профиля
      • если флаг profile_updated равен true, ничего не делайте

Когда клиент что-то обновляет, установите флаг profile_updated на true. Для этого вы можете наблюдать за событием controller_action_postdispatch_customer_account_editpost

Вы можете проверить текущую страницу следующим образом:

$action = Mage::app()->getFrontController()->getAction()->getFullActionName();

Действие для редактирования учетной записи customer_account_edit, а для сохранения информации об учетной записи действие customer_account_editpost.

 3
Author: Marius, 2015-10-22 14:52:09