Hallo!
Ich hatte schon länger nach einer solchen Komponente gesucht, die die neuesten Beiträge seit dem letzten Login zeigt, kennt ihr vielleicht soetwas?
Aber da ich sowieso einen spezielleren brauche, habe ich mich nun endlich drangewagt und mein erstes eigenes modul geschrieben (bzw. angefangen) (eigentlich bräuchte ich eine komponente, aber die module sollen um einiges leichter sein, also tuts das auch)
Nach diversen google-sessions und tutorials habe ich jetzt das erste konstrukt fertig.
Leider zeigt es auf meiner Testinstallation (kopie der liveseite) garnichts an? Im Debugmodus wird von meinem modul gar keine datenbankabfrage angezeigt?
Gibt es vielleicht irgendwo ein Tutorial mit den typischen Anfängerfehlern bei der Modulerstellung?
Das Modul soll, wenn es fertig ist, die neuesten Artikel (jos_content), Bilder (Joomgallery), Videos (hwdvideoshare) und Kommentare (Jcomments) sowie Forenbeiträge (kunena) anzeigen, die seit dem letzten Login hinzugekommen (userverwaltung mit cb) sind.
Ich wollte als erstes lediglich die Beiträge anzeigen.
Ich poste einfach mal den code den ich bisher habe, bitte erschlagt mich nicht, wie gesagt mein erster versuch, da ist bestimmt irgendwo ein total doofer fehler, den ich nicht finde
mod_newposts.php:
helper.phpCode:<?php //direct access if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); } // helper.php aufrufen JLoader::import('mod_newposts.helper', JPATH_SITE.DS.'modules'); //User laden $user =& JFactory::getUser(); //User id $userid=$user->id; //Last visit $userlastvisit=$user->lastvisitDate; //default.php einbinden require(JModuleHelper::getLayoutPath('mod_newposts')); ?>
default.php im tmpl ordnerCode:<?php // Verhindern, dass die Datei direkt aufgerufen wird if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); } class modPostsHelper{ function getPosts(&$params){ //? global $_CB_framework; //db object holen $db = &JFactory::getDBO(); //aktuelle Zeit $now = date( 'Y-m-d H:i:s', $_CB_framework->now() + $_CB_framework->getCfg( 'offset' ) * 60 * 60 ); // //query zusammenbauen $query = "SELECT title,catid" . "\n FROM #__content" . "\n WHERE created <= $now AND created >= $userlastvisit" . "\n AND a.state = 1 " . "\n ORDER BY a.created DESC" ; $db->setQuery( $query ); $rows = $db->loadObjectList();; $posts = "<ul>\n"; if ($rows) { foreach ($rows as $row){ $posts .= "<li>".$row->text."</li>\n"; } } $posts .= "</ul>\n"; return $posts; } } ?>
Code:<?php // Verhindern, dass die Datei direkt aufgerufen wird if ( ! ( defined( '_VALID_CB' ) || defined( '_JEXEC' ) || defined( '_VALID_MOS' ) ) ) { die( 'Direct Access to this location is not allowed.' ); } echo $posts; ?>![]()
![]()
![]()


LinkBack URL
About LinkBacks
Zitieren
Lesezeichen