Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 03. März 2017 08:18

mysteryboard
hat von CMS/ms gehört
Registriert: 03. März 2017
Beiträge: 5

E-Mail Notification bei Änderung eines Listeneintrages (ListIt2)

Hallo,

ich brauche dringend Hilfe. Ich habe zwar eine UDT gefunden, mit der bei Seitenänderung eine E-Mail an z. B. Redakteure versendet werden kann (Send Email Notification on Page Change). Jedoch brauche ich diese Vorgehensweise auch bei Änderung eines Listeneintrages, den ich mit ListIt Extended erstellt habe. In der Ereignisverwaltung habe ich gesehen, dass es ein PostItemSave für meine Liste gibt. Nun habe ich versucht eine UDT zu erstellen, mit der ich die Redakteure über die Änderung eines Listeneintrages informieren kann. Jedoch ist es mir nicht geglückt, Informationen aus dem veränderten Item zu extrahieren (z. B. den Titel des Listeneintrages), damit der verantwortliche Redakteur auch weiß, welcher Eintrag verändert wurde.

In dem User Defined Tag "send_email_notification" werden die Informationen mit Hilfe von

extrahiert.

Meine Frage ist nun, mit welcher Funktion erhalte ich Zugriff auf die Informationen des veränderten Listeneintrages?

Vielen, vielen Dank für Eure Hilfe.

Gruß

Offline

#2 03. März 2017 08:57

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: E-Mail Notification bei Änderung eines Listeneintrages (ListIt2)

Willkommen in unserem Forum!

Poste einfach mal den kompletten Code deines Plugins.

Offline

#3 03. März 2017 09:04

mysteryboard
hat von CMS/ms gehört
Registriert: 03. März 2017
Beiträge: 5

Re: E-Mail Notification bei Änderung eines Listeneintrages (ListIt2)

Hier die vollständige UDT (die zwar eine E-Mail versendet, jedoch nicht mit den Infos aus dem Item):

//XXXX- XXXX - 2017-02-28 - Sende eine Mail zu den Redakteuren
header("Content-Type: text/html; charset=utf-8");
$list_title = $params['title'];
$list_alias = $params['alias'];
$editor = $_SESSION['login_user_username'];
$from = "XXXXX@XXXX.de"; // this is the sender's Email address
$to = 'XXXX@XXXX.de';
$subject = 'Benachrichtigung über Änderung eines Kooperationspartners auf XXXX.de - ' . $list_title . ' - ' . $editor;

$header = "From: " . $from . "\n";    
                
// Umlaute: charset=utf-8         html Mail: Content-type: text/html
$header .= 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=utf-8' . "\r\n";


$message = "Ein Kooperationspartner auf XXXX.de ist verändert worden.<br>";
$message .= "<br>";
$message .= "Seitenname : " . $list_title . "<br>";
$message .= "Seitenalias : " . $list_alias . "<br>";
$message .= "verändert von : " . $editor . "<br>";

@mail($to, $subject, $message, $header);

Beitrag geändert von mysteryboard (03. März 2017 09:05)

Offline

#4 03. März 2017 19:16

mysteryboard
hat von CMS/ms gehört
Registriert: 03. März 2017
Beiträge: 5

Re: E-Mail Notification bei Änderung eines Listeneintrages (ListIt2)

Ist keine Lösung für dieses Problem bekannt?

Ich bin für jede Idee zu haben, auch wenn diese vielleicht noch nicht ganz spruchreif sein sollte! glasses

Offline

#5 03. März 2017 19:49

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: E-Mail Notification bei Änderung eines Listeneintrages (ListIt2)

Für die Ereignisverwaltung gibt es eine Hilfe. Dort sollte auch drin stehen, welche Werte das Event PostItemSave liefert.

Offline

#6 05. März 2017 11:41

mysteryboard
hat von CMS/ms gehört
Registriert: 03. März 2017
Beiträge: 5

Re: E-Mail Notification bei Änderung eines Listeneintrages (ListIt2)

Hallo,

ich hab mal in die Ereignishilfe geschaut und tatsächlich hab ich nun eine Lösung erarbeitet:

//XXXX - XXXX - 2017-02-28 - Sende eine Mail zu den Redakteuren
header("Content-Type: text/html; charset=utf-8");
$obj =& $params['item_object'];
$list_title = $obj->title;
$editor = $_SESSION['login_user_username'];
$from = "XXXX@XXXX.de"; // this is the sender's Email address
$to = 'XXXX@XXXX.de';
$subject = 'Benachrichtigung über Änderung eines Kooperationspartners auf XXXX.de - ' . $list_title . ' - ' . $editor;

$header = "From: " . $from . "\n";    
                
// Umlaute: charset=utf-8         html Mail: Content-type: text/html
$header .= 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=utf-8' . "\r\n";


$message = "Ein Listeneintrag der Liste 'Kooperationspartner' auf XXXX.de ist verändert worden.<br>";
$message .= "<br>";
$message .= "Listeneintrag : " . $list_title . "<br>";
$message .= "verändert von : " . $editor . "<br>";

@mail($to, $subject, $message, $header);

Schön wäre es, wenn ich jetzt noch den Name der Listeninstanz auslesen könnte, denn ich habe im Projekt mehrere Listen. Dann brauche ich nicht für jede Liste einen UDT zu schreiben.

Hat jemand eine Idee?

Beitrag geändert von mysteryboard (05. März 2017 18:47)

Offline

#7 05. März 2017 13:19

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: E-Mail Notification bei Änderung eines Listeneintrages (ListIt2)

mysteryboard schrieb:

Schön wäre es, wenn ich jetzt noch den Name der Listeninstanz auslesen könnte

Und warum machst du es dann nicht  tongue ?

Nee, Spaß beiseite - schau dir mal dies an

Weisst du, worauf ich hinaus will wink?

Genau, ein Modul ist nichts anderes als eine abgeleitete Klasse, so dass (zumindestens theoretisch) etwas in der Art

funktionieren sollte.

Offline

#8 05. März 2017 18:58

mysteryboard
hat von CMS/ms gehört
Registriert: 03. März 2017
Beiträge: 5

Re: E-Mail Notification bei Änderung eines Listeneintrages (ListIt2)

Danke für die Antwort, jedoch wird bei $module = get_class($obj); nur "ListIt2Item" zurückgegeben.

Offline

#9 06. März 2017 12:11

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.017
Webseite

Re: E-Mail Notification bei Änderung eines Listeneintrages (ListIt2)

Steck jetzt auch nicht so tief in dem Modul drin roll

Alternativ könntest du das gleiche mit get_parent_class() testen.

Ein anderer Weg wäre, die Kategorie des Items als Hinweis zu nutzen. Keine Ahnung, ob der Event die mitliefert...

Offline