Я хочу добавить тип контента после регистрации пользователя на сайте.
Я пытался, hook_user_save()
но он сохраняет тип контента, прежде чем пользователь подтвердит свою электронную почту.
Есть ли хук после подтверждения по электронной почте?
Хотя в этом подходе используются модули, я добавляю узлы после того, как пользователи подтверждают свою электронную почту, используя Logintoboggan и Rules . Интеграция правил Logintoboggan добавляет новое событие, When the user account is validated
которое позволит вам выполнить действия после подтверждения по электронной почте.
Это делает работу для меня:
источник
if($account->uid && $account->original->status == 0 && $account->status == 1)
Если вы используете модуль LoginToboggan для проверки электронной почты и не хотите использовать модуль правил, вы можете просто имитировать ответ проверки модуля (используя
logintoboggan_email_validated = TRUE
свойство временного аккаунта, которое передается hook_user_update) в коде:Поскольку основные и другие модули также будут вызывать hook_user_update, вы захотите реализовать что-то, чтобы избежать повторных действий. В этом примере я установил другое свойство в $ account после начала действия, но при необходимости вы можете установить более точное управление.
Обратите внимание, что если использовать LoginToboggan для автоматической проверки электронной почты, метод IOco не будет работать (среди многих причин - во время hook_user_presave, $ account-> status == 1 (это просто роль в выбранной вами «предварительно авторизованной»). штат).
источник