Email-Benachrichtigung für Blog-Kommentare nachrüsten
- Im ersten Schritt muss die Datei
item.phpim Verzeichnis/components/com_k2/models/bearbeitet werden. - Ganz am Ende der Funktion
comment(), etwa bei Zeile 1080, muss vor$application->close();folgender Code (Kurzform) ergänzt werden:
// Versenden einer Email an "blog@komet-hamburg.de" bei neuem Kommentar im Blog$mailer =& JFactory::getMailer();$config =& JFactory::getConfig();$sender = array($config->get( 'config.mailfrom' ),$config->get( 'config.fromname' ) );$mailer->setSender($sender);$recipient = explode(",", "blog@komet-hamburg.de");$mailer->addRecipient($recipient);$mailer->setSubject(JText::_('K2_NEWCOMMENT_EMAIL'));if (!trim($commentURL)==""){$commentURL = "Site: ". $commentURL. "\n";}$body = "Name: ". $userName. "\n". "E-mail: ". $commentEmail. "\n". $commentURL. "Comment: ". $commentText;$mailer->setBody($body);$mailer->isHTML(true);$mailer->Send();
bzw. ausführlich [ Diese Version verwenden !]// Versenden einer Email an "blog@komet-hamburg.de"; bei neuem Kommentar im Blog
$mailer =& JFactory::getMailer();
$config =& JFactory::getConfig();
$sender = array(
$config->get( 'config.mailfrom' ),
$config->get( 'config.fromname' ) );
$mailer->setSender($sender);
$recipient = explode(",", "blog@komet-hamburg.de";);
$mailer->addRecipient($recipient);//Read more link
$link = K2HelperRoute::getItemRoute($item->id.':'.urlencode($item->alias), $item->catid.':'.urlencode($item->category->alias));
$item->link = urldecode(JRoute::_($link));$item->cleanTitle = $item->title;
$item->title = htmlspecialchars($item->title, ENT_QUOTES);
$item->image_caption = htmlspecialchars($item->image_caption, ENT_QUOTES);//Author
$author = JFactory::getUser($item->created_by);
$item->author = $author;
$item->author->link = JRoute::_(K2HelperRoute::getUserRoute($item->created_by));
$mailer->setSubject(JText::_($item->author->name. 's Beitrag wurde gerade kommentiert'));
if (!trim($commentURL)=="") {
$commentURL = "Site: ". $commentURL. "\n";
}$body = "<h1>Neuer Kommentar zu ". $item->author->name. "s Beitrag: <i>'". "<a href='". JURI::root().$item->link. "'>". $item->title. "</a>'</i>". "</h1>". $item->introtext. "<h1>Kommentar:</h1><i>". $commentText. "</i><br><br>von ". $userName. "<br>". "Kontakt: ". $commentEmail. "<br>". "<br>";
$mailer->setBody($body);
$mailer->isHTML(true);
$mailer->Send();
// Endeveralteter Code [nicht verwenden]
// Versenden einer Email an "blog@komet-hamburg.de" bei neuem Kommentar im Blog
$mailer =& JFactory::getMailer();
$config =& JFactory::getConfig();
$sender = array(
$config->get( 'config.mailfrom' ),
$config->get( 'config.fromname' ) );
$mailer->setSender($sender);
$recipient = explode(",", "blog@komet-hamburg.de");
$mailer->addRecipient($recipient);
//Read more link
$link = K2HelperRoute::getItemRoute($item->id.':'.urlencode($item->alias), $item->catid.':'.urlencode($item->category->alias));
$item->link = urldecode(JRoute::_($link));$item->cleanTitle = $item->title;
$item->title = htmlspecialchars($item->title, ENT_QUOTES);
$item->image_caption = htmlspecialchars($item->image_caption, ENT_QUOTES);
// Author
$metaAuthor = K2_JVERSION != '15' && $application->getCfg('MetaAuthor');
if ($metaAuthor || ($view == 'item' && ($item->params->get('itemAuthorBlock') || $item->params->get('itemAuthor'))) || ($view == 'itemlist' && ($task == '' || $task == 'category') && ($item->params->get('catItemAuthorBlock') || $item->params->get('catItemAuthor'))) || ($view == 'itemlist' && $task == 'user') || ($view == 'relatedByTag'))
{
if (!empty($item->created_by_alias)) {
$item->author = new stdClass;
$item->author->name = $item->created_by_alias;
$item->author->avatar = K2HelperUtilities::getAvatar('alias');
$item->author->link = JURI::root();
}
else {
$author = JFactory::getUser($item->created_by);
$item->author = $author;
$item->author->link = JRoute::_(K2HelperRoute::getUserRoute($item->created_by));
$item->author->profile = $this->getUserProfile($item->created_by);
$item->author->avatar = K2HelperUtilities::getAvatar($author->id, $author->email, $params->get('userImageWidth'));
}if (!isset($item->author->profile) || is_null($item->author->profile)) {
$item->author->profile = new JObject;
$item->author->profile->gender = NULL;
}
}
$mailer->setSubject(JText::_($item->author->name. 's Beitrag wurde gerade kommentiert'));
if (!trim($commentURL)=="") {
$commentURL = "Site: ". $commentURL. "\n";
}$body = "<h1>Neuer Kommentar zu ". $item->author->name. "s Beitrag: <i>'". "<a href='". JURI::root().$item->link. "'>". $item->title. "</a>'</i>". "</h1>". $item->introtext. "<h1>Kommentar:</h1><i>". $commentText. "</i><br><br>von ". $userName. "<br>". "Kontakt: ". $commentEmail. "<br>". "<br>";
$mailer->setBody($body);
$mailer->isHTML(true);
$mailer->Send();
// Ende - Nach einem Update von K2 muss diese ergänzung erneut erfolgen. Ggf. kann es langfristig als Override realisiert werden. Siehe hierzu
- https://www.j-over.de/de/ bzw. https://www.youtube.com/watch?v=DgFlvjhU7Wo
- https://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core
- https://community.joomla.org/blogs/community/did-you-know-overrides-are-not-just-for-html.html
- https://docs.joomla.org/Sending_email_from_extensions
- https://api.joomla.org/cms-3/classes/Joomla.CMS.Mail.Mail.html
- Alternativ gibt es ein Plugin. Allerdings nicht über JED: http://bitface.ru/bitextensions/bitplugins/bfnotifyk2-plugin











