我正在使用onContentAfterSave事件开发一个Joomla插件,以便在保存新文章后发送电子邮件。
当我保存新菜单项或新类别时会触发该事件。 但不适用于新文章。
的Joomla! 3.7.5
public function onContentAfterSave($context, $article, $isNew){
$link = JRoute::_(ContentHelperRoute::getArticleRoute( $article->id, $article->catid ));
$mailer = JFactory::getMailer();
$config = JFactory::getConfig();
$sender = array(
$config->get( 'mailfrom' ),
$config->get( 'fromname' )
);
$mailer->setSender($sender);
$user = JFactory::getUser();
$recipient = $user->email;
$recipient = array($recipient);
$mailer->addRecipient($recipient);
$body = '<p>Bonjour</p>'
.'Un nouveau <a href="'.$link.'">article</a> a été ajouté.';
$mailer->isHtml(true);
$mailer->Encoding = 'base64';
$mailer->setSubject('Nouveau article - BBN Times');
$mailer->setBody($body);
$send = $mailer->Send();
if ( $send !== true ) {
echo 'Error sending email: ';
} else {
echo 'Mail sent';
}
return true;
}
答案 0 :(得分:0)
onContentAfterSave
由Joomla核心触发,而不是由扩展程序的模型触发,这意味着它应该由任何内容保存触发。
我可以想到在你的情况下没有触发它的两个原因: