magnify

Anzeige neue PM

Armin Bartsch, Mittwoch, 11. März 2009

Zeigt die Anzahl neuer PM an

Da das mm_forum stetig weiter entwickelt wird und damit zu rechnen ist das auch bald eine PM-Anzeige integriert sein wird, binde ich die Anzeige mit dem cObject USER ein. Die Funktion ist schnell einzubinden und kann leicht erweitert werden

class tx_mmforum_pm_message

Die class tx_mmforum_pm_message enthält die funktion count_pm() mit der die Anzahl der neun (noch nicht gelesenen PM) zurückgegeben werden.

  1. <?php
  2.  
  3. class tx_mmforum_pm_message {
  4.  
  5.   function count_pm() {
  6.    
  7.     global $TSFE;
  8.    
  9.     if ($TSFE->fe_user->user) {
  10.       $result = $GLOBALS['TYPO3_DB']->exec_SELECTquery( 'count(*)',
  11.                                                         'tx_mmforum_pminbox',
  12.                                                         'to_uid = '.$TSFE->fe_user->user['uid'].' AND read_flg = \'\' AND mess_type = 0 AND hidden=0 AND deleted=0');
  13.                                                        
  14.       $row = $GLOBALS['TYPO3_DB']->sql_fetch_row($result)
  15.    
  16.       return $row[0];
  17.    
  18.     }
  19.  
  20.   }
  21.  
  22. }
  23.  
  24. ?>
  25.  

Die Klasse speichere ich als class.tx_mmforum_pm_message_p1.php.

TypoScript

Jetzt muss noch die die Datei eingebunden werden damit die Klasse und die Function zur Verfügung steht.

  1. includeLibs.tx_mmforum_pm_message = EXT:anpassungen_t3/class.tx_mmforum_pm_message_p1.php

Über das cObject USER wird die function count_pm aufgerufen.

  1. 40 = TEXT
  2. 40.stdWrap.cObject = USER
  3. 40.stdWrap.cObject.userFunc  = tx_mmforum_pm_message->count_pm
  4. 40.wrap = <span class="abs">Sie haben&nbsp;|&nbsp;neue Nachrichten</span>
  5. 40.if.isInList = 191
  6. 40.if.value.field = uid
  7.  

Das Bespiel oben wurde in eine Navigation (HMENU/TMENU) eingesetzt, deswegen die if-Abfrage damit nicht bei alle Navigationspunkten die Anzahl erscheint sondern nur bei "Private Nachrichten"

magnify

Kommentare

Ins Gästebuch eintragen
Kein Kommentar vorhanden

MERKLISTE

Login

Anmelden

Sponsored by:

ideenwerft webhosting

Wunschzettel