Заставлять клиентов обновлять информацию об учетной записи
Я импортирую пару тысяч клиентов в экземпляр Magento и хотел бы заставить своих клиентов проверять и обновлять информацию о своей учетной записи при первом входе в систему.
Возможно ли это в родном Magento или есть расширение для выполнения этой работы?
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
.