я использовал Планировщик модуль с интеграция с модерацией контента публиковать контент автоматически. Он отлично работает с модулем. Теперь я хочу добавить функцию, согласно которой после публикации контента через cron автору этого конкретного контента будет отправлено электронное письмо.
я использовал hook_scheduler_publish_action
для выполнения этого действия, но, к сожалению, я столкнулся с другим сценарием.
- Если я удалю код публикации узла и оставлю только код отправки почты, почта будет запущена.
- Если я удалю код отправки почты и оставлю только код публикации узла, узел будет опубликован.
- Если я держу оба, отправляется только почта, контент не публикуется.
Ссылка: https://git.drupalcode.org/project/scheduler/blob/8.x-1.x/scheduler.api.php
Код ниже предназначен только для публикации контента, а не для отправки электронной почты.
функция MYMODULE_scheduler_publish_action (NodeInterface $ node) {
// состояние модерации узла будет "опубликовано"
$node->set('moderation_state', 'опубликовано');
$узел->сохранить();
// письмо отправить автору
$mail_params = массив(
'mail_subject' => 'запустить cron',
'mail_body' => '<p>узел опубликован с помощью планировщика</p>',
'mail_to' => '[email protected]'
);
\Drupal::service('MYMODULE.common_service')->FunctionToSendEmail($mail_params);
}
Ниже код только отправляет электронную почту, а не публикует контент.
функция MYMODULE_scheduler_publish_action (NodeInterface $ node) {
// письмо отправить автору
$mail_params = массив(
'mail_subject' => 'запустить cron',
'mail_body' => '<p>узел опубликован с помощью планировщика</p>',
'mail_to' => '[email protected]'
);
\Drupal::service('MYMODULE.common_service')->FunctionToSendEmail($mail_params);
// состояние модерации узла будет "опубликовано"
$node->set('moderation_state', 'опубликовано');
$узел->сохранить();
}
Это означает, что этот хук выполняет только первое действие и игнорирует другие.
Теперь мой вопрос: как я буду выполнять несколько действий, используя этот хук, или есть ли какая-либо другая процедура для этого?
Пожалуйста, помоги мне. Заранее спасибо.