wie Benachrichtigung/notification zu senden

  • Jack
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
30 Juli 2011 10:15 #29896 von Jack
Hallo,
wie kann sich der admin im Falle von content-Änderungen eine Benachrichtigung zubekommen lassen - wie die bei neu eingestellten Artikeln? Konkret geht es um eine Benachrichtigung, wenn jemand etwas in seinem Nutzerprofil ändert, also in/über com_users\profile\default.php? gibts einen J!-API-Teil ´den ich ggf. nutzen kann? Ich sehe noch nicht ganz, welche Funktionen J! 1.7.0 da anbieten würde. An welcher Stelle man ansetzen würde.
Gruß, Jack

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
01 Aug. 2011 07:26 #29912 von jimbo

Gruss Dany (Jimbo)
Kein Support per PN.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Jack
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
01 Aug. 2011 11:39 #29913 von Jack
Toll! Was soll ich dazu sagen? Du hast also keinen Tipp. :((
Ich kenne gookle, daher auch meine Postings.
Gruß

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
02 Aug. 2011 07:47 #29915 von patrick
Hallo Jack

Hier eine Info zu Multiposting ;)
www.linux-club.de/viewtopic.php?f=38&t=76935&start=0

Für das was du möchtst, brauchst du eine zusätzliche Erweiterung. Hier solltest du fündig werden:
extensions.joomla.org/extensions/news-pr...tion/planned-content
extensions.joomla.org/extensions/news-pr...n/content-submission

Oder als Suche:
extensions.joomla.org/search?q=notification+email

InitCom: Webagentur für Webdesign // CMS Joomla! // PrestaShop

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Jack
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
02 Aug. 2011 11:56 - 02 Aug. 2011 14:50 #29918 von Jack
mmh - so, "Multi- und Crossposting" heißt das. Ich finde das ok/legitim und schließe die Postings auch ab - sofern ich einigermaßen vernünftige Antworten erhalten habe.

&btw: auf so ein Komponenten-Marathon habe ich keinen Bock x(
Überlegt doch Mal, was da alles dranhängt ... :( "komische" GUIs, mit Blick auf mein kleines Problem Funktionen die man garnicht brauche, ... zudem sind die 1.6 & 1.7 eh noch alle commercial - dazu dann komische Anmeldeprozeduren. außerdem möchte ich lernen ....
na ja ...


Also ich bin jetzt soweit, dass ich aus der plugins/user/profile/profile.php
gern eine mail absetzen möchte, aber nicht sicher weiß, _ob_ ich hier richtig bin.
Dass ich in profile.php überhaupt drin bin, merke ich nach dem Senden nur, wenn ich ein exit; setze.
Passend wäre wohl
function onUserAfterSave($data, $isNew, $result, $error)
{

Die Daten, die zu verschicken sind, sind hier drin: print_r($data); (das kann ich nur sehen, indem ich kurz danach ein exit; setze, sonst läuft das script durch ...)

Wie kann man in 1.7 am geschicktesten die Daten an den admin schicken?
erstmal nur, das etwas geändert wurde ("send") ggf. könnte man auch vorher prüfen und nur geändertes schicken.
In dem ganzen framework müsste doch irgendwo schon etwas stecken?

Ich suche ja auch eine Art "Multiposting" (dachte erst, du sprachst mein Problem mit Multiposting an): beim "Save" sollen die Daten nicht nur in die Tabelle geschrieben werden, sondern zudem gleichzeitig an den admin geschickt werden.

Ich möchte Mal probiern, etwas aus der profile.php zu schicken.
Kennt ihr im 1.7er J-code irgendwo eine Stelle, wo/wie die JMail-Sachen
zum versenden verwendet werden?

Danke, Grüße, Jack

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
02 Aug. 2011 19:35 #29925 von jimbo
Nachdem das Thema "Multipost" nun ja geklärt ist...

Eine direkte Lösung kann ich dir nicht bieten, aber evtl. einen Ansatz: Alle Änderungen die du in einer Coredatei vornimmst, riskieren beim nächsten Update überschrieben zu werden. Warum versuchst du nicht den Weg über ein Plugin? Das kannst du beim Speichern "anspringen lassen" und dann – nach Auswertung ob das Speichern eine relevante Tabelle betrifft – die passende Nachricht versenden lassen. Eine solche Lösung übersteht auch ein Update. ;)

Gruss Dany (Jimbo)
Kein Support per PN.
Folgende Benutzer bedankten sich: Jack

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
02 Aug. 2011 20:12 #29928 von Tribal6
Jack:

An und für sich bist du da schon an der richtigen Stelle. Das JMail-Code-Teil das du suchst ist eine Klasse Namens JUtility mit der statischen Funktion sendMail(). Guckst du
api.joomla.org/Joomla-Platform/Utilities/JUtility.html#sendMail
Die hat sich anscheinend nicht gross geändert, seit der J-1.5, und sollte vom Framework automatisch geladen werden. Einfach im Code sowas reinschreiben:
Code:
JUtility::sendMail($param1, $param2.......);
Die Parameter sind ja in der Doku ersichtlich.

Und auf die Schnelle mal eine Variable debuggen kannst du so:
Code:
JFactory::getApplication()->enqueueMessage('Meine Var: '.$var);
Sofern du ein Template verwendest, das Systemnachrichten anzeigt.
( api.joomla.org/Joomla-Platform/Applicati....html#enqueueMessage )

bei
roger

Tue das, was du kannst, mit dem was du hast, da wo du bist.
Folgende Benutzer bedankten sich: Jack

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Jack
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
04 Aug. 2011 14:02 #29946 von Jack
das haut nicht hin: ich weiß nicht, wie ich wo ein 2.plug zum "Anspringen" bekomme.
Im 2. plug sehe ich z.Zt. mit onUserBeforeSave und onUserAfterSave per print_r immer nur die neuen/geänderten Daten und kann somit nicht vergleichen ...
Gruß, Jack

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
04 Aug. 2011 18:32 #29951 von Tribal6
Hi

das haut nicht hin: ich weiß nicht, wie ich wo ein 2.plug zum "Anspringen" bekomme.

...keine Ahnung, was du damit sagen willst.

...per print_r immer nur die neuen/geänderten Daten...

WAS lässt du dir denn per print_r ausgeben?
Der eine Event heisst ja 'onUserBevoreSave', also BEVOR die neuen Daten in der Datenbank/Session gespeichert werden. Und somit müsstest du die neuen Daten im Request des Formulars haben
Code:
$userDatenNeu = JRequest::get('post') // array/Fromularvariablen;
und die alten Daten in der DB, rsp. aktuellen Session haben, da sie ja noch nicht aktualisiert wurden:
Code:
$userDatenAlt = JFactory::getUser(); //JUser Objekt des aktuellen Users
Versuch's mal so...

R.

Tue das, was du kannst, mit dem was du hast, da wo du bist.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
04 Aug. 2011 21:44 #29957 von Tribal6
...ok, bei den Plugins hat sich anscheinend einiges geändert, letzten Post ignorieren.

Konkret:
In /plugins/user/joomla/joomla.php, function onUserAfterSave(), am Anfang, vor 'if($isnew)':
Code:
public function onUserAfterSave($user, $isnew, $success, $msg) { // Initialise variables. $app = JFactory::getApplication(); $config = JFactory::getConfig(); // neuer Code if ($app->isSite() and !$isnew and $success) { $oldUserData = JFactory::getUser(); $newUserData = $user; //......Daten vergleichen, Mail senden....... } // ende neuer Code if ($isnew) { // TODO: Suck in the frontend registration emails here as well. Job for a rainy day. if ($app->isAdmin()) { .....................

Das ist natürlich ein Hack, ich weiss. Um das Ganze update-sicher zu machen, müsstest du diese Funktionalität mit einem neuen, eigenen Plugin realisieren, ist ja klar.

Tue das, was du kannst, mit dem was du hast, da wo du bist.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Moderatoren: Tribal6RePaoDragonlordChris Hoefligerpascaleadiheutschi.ch
Powered by Kunena Forum

Joomla! Verband Schweiz - Mitglied werden