privatemsg Notification
Eingetragen von TaTonka (3)
am 30.12.2008 - 18:30 Uhr in
am 30.12.2008 - 18:30 Uhr in
Ich habe für private Nachrichten das privatemsg-Modul eingesetzt. Damit bin ich ansich auch recht zufrieden, bis auf die Notofication, wenn man ne neue PM bekommen hat. Da gibts nämlich nur nen winzig kleinen Hinweis, wenn man sich eingeloggt hat. Falls man aber schon eingeloggt ist, und ne PM bekommt, merkt man davon recht wenig.
Was kann man da tun? Oder gibts noch nen anders PM-Modul als privatemsg?
- Anmelden oder Registrieren um Kommentare zu schreiben
Es gibt die Funktion
am 31.12.2008 - 14:31 Uhr
Es gibt die Funktion _privatemsg_get_new_messages($uid), die für die übergebene User id die Anzahl an neuen Nachrichten zurückgibt. Ich habe das auf einer Seite so gelöst, dass ich einen Block habe, der nur angezeigt wird, wenn der User neue Nachrichten hat und ein
code
am 31.12.2008 - 14:33 Uhr
Ach ja hier das php snippet:
<?php
// $user ist der aktuell angemeldete user
global $user;
// $num ist dann die anzahl der neuen Nachrichten für den User:
$num = _privatemsg_get_new_messages($user->uid);
if ($num > 0) {
// Hier dann die Anzahl ausgeben
print $num ." neue Nachrichten";
}
?>
Anmerkung...
am 08.02.2009 - 20:38 Uhr
Janosch schrieb mir per Mail:
Hallo,
da du den Cod/snippet für den
Privatemsg(http://www.drupalcenter.de/node/15342)gepostet hast, hab ich mal
eine frage!
wenn ich diesen code in einen Block einfüge, bekomme ich nach der
Aktivierung einen Fatal error!
ich benutze D.6.9
php als eingabeformat!
was könnte der Fehler sein?
mfg janosch
Ich hab grad mal den aktuellen privatemsg-Code für Drupal 6 angeguckt (=> http://ftp.drupal.org/files/projects/privatemsg-6.x-1.0-rc2.tar.gz ). Dort gibt es die o.g. Funktion nicht mehr, dafür aber:
/**
* API function
*
* Return number of unread messages for an account.
*/
function privatemsg_unread_count($account = NULL) {
[...]
}
Der Code müsste demnach jetzt so aussehen:
<?php
// $num ist dann die anzahl der neuen Nachrichten für den grade angemeldeten User:
$num = privatemsg_unread_count();
if ($num > 0) {
// Hier dann die Anzahl ausgeben
print $num ." neue Nachrichten";
}
?>
privatemsg
am 09.02.2009 - 10:28 Uhr
ich danke Dir McGo!
mit diesem Code hat es jetzt gefunzt.
Gruß
Janosch
Gruß
Janosch