Index > Erweiterungen > Module: Multi-RSS-Feeds
Ich habe ein kleines Modul geschrieben, dass es erlaubt, einen RSS-Feed aus mehreren News-Archiven zu generieren. Die passende Wiki-Seite gibt es hier: http://www.typolight.org/wiki/extensions:multifeeds
Größter Sorgenpunkt momentan: Ich musste die Datei /system/modules/news/dca/tl_news_archive.php abändern, um eine weitere Callback-Methode einzuhängen. Das schmeckt mir eigentlich nicht. Kennt jemand eine Möglichkeit, dass ich meine Callback-Methode einhänge, ohne dass ich die genannte Datei ändern muss? Ich hatte schon folgendes in meiner dca-Datei versucht:
Leider ohne Erfolg (wird wahrscheinlich dann nachher durch die Definition in tl_news_archive.php einfach überschrieben. Hat hier jemand eine geschicktere Lösung?
Größter Sorgenpunkt momentan: Ich musste die Datei /system/modules/news/dca/tl_news_archive.php abändern, um eine weitere Callback-Methode einzuhängen. Das schmeckt mir eigentlich nicht. Kennt jemand eine Möglichkeit, dass ich meine Callback-Methode einhänge, ohne dass ich die genannte Datei ändern muss? Ich hatte schon folgendes in meiner dca-Datei versucht:
Code:
$GLOBALS['TL_DCA']['tl_news_archive']['config']['onsubmit_callback'][] = array('Multifeed', 'generateFeeds');
Leider ohne Erfolg (wird wahrscheinlich dann nachher durch die Definition in tl_news_archive.php einfach überschrieben. Hat hier jemand eine geschicktere Lösung?
2008-03-25 15:58
Hallo Anrakis,
evtl. habe ich Dich falsch verstanden, aber du kannst erweiternde dca-Definitionen in der Datei "system/config/dcaconfig.php" einbinden bzw. vom User einbinden lassen.
Damit ist eine updatesichere Erweiterung möglich.
Falls das die Datei ist, die Du schon geändert hast, müsste Leo wohl am ehsten wissen, was da zu machen ist.
Auf jeden Fall Danke für diese durchaus sinnige Erweiterung.
Felix
evtl. habe ich Dich falsch verstanden, aber du kannst erweiternde dca-Definitionen in der Datei "system/config/dcaconfig.php" einbinden bzw. vom User einbinden lassen.
Damit ist eine updatesichere Erweiterung möglich.
Falls das die Datei ist, die Du schon geändert hast, müsste Leo wohl am ehsten wissen, was da zu machen ist.
Auf jeden Fall Danke für diese durchaus sinnige Erweiterung.
Felix
2008-03-25 16:33
Hallo. Danke für den Tip. Das wusste ich in der Tat noch nicht. Ich schau mir gleich mal dcaconfig.php an um zu sehen, ob das so funktioniert, wie ich will.
EDIT: Das war es in der Tat. Vielen Dank!!!! Hm, hier fehlt ein "Kuss"-Smiley
EDIT: Das war es in der Tat. Vielen Dank!!!! Hm, hier fehlt ein "Kuss"-Smiley
Zuletzt bearbeitet von Anrakis, 2008-03-25 16:44
2008-03-25 16:40
Hallo,
also, ich bekomme beim ersten Aufrufen des Moduls im backend folgende Fehlermeldung:
So genau habe ich mir den Code noch nicht angeschaut, aber irgendetwas stimmt in der SQL-Definition scheinbar nicht.
Ich schaue selbst mal, aber evtl. hast Du da den besseren Überblick.
Felix
also, ich bekomme beim ersten Aufrufen des Moduls im backend folgende Fehlermeldung:
Code:
Fatal error: Uncaught exception Exception with message Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 (SELECT id, jumpTo FROM tl_news_archive WHERE id IN()) thrown in /web/1/000/023/610/53006/htdocs/vocaldente/system/libraries/Database.php on line 502 #0 /web/1/000/023/610/53006/htdocs/vocaldente/system/modules/multifeeds/Multifeed.php(72): Database_Statement->execute() #1 /web/1/000/023/610/53006/htdocs/vocaldente/system/modules/multifeeds/Multifeed.php(51): Multifeed->generateFile(Array) #2 /web/1/000/023/610/53006/htdocs/vocaldente/system/drivers/DC_Table.php(162): Multifeed->generateFeeds(Object(DC_Table)) #3 /web/1/000/023/610/53006/htdocs/vocaldente/system/modules/backend/Backend.php(147): DC_Table->__construct('tl_multifeeds') #4 /web/1/000/023/610/53006/htdocs/vocaldente/typolight/main.php(99): Backend->getBackendModule('multifeeds') #5 /web/1/000/023/610/53006/htdocs/vocaldente/typolight/main.php(295): Main->run() #6 {main}
So genau habe ich mir den Code noch nicht angeschaut, aber irgendetwas stimmt in der SQL-Definition scheinbar nicht.
Ich schaue selbst mal, aber evtl. hast Du da den besseren Überblick.
Felix
2008-03-25 16:46
War ein Bug mit leeren News-Archiven. Ich habe im Wiki eine neue Version eingestellt. Könntest Du die bitte mal ausprobieren? Danke!
2008-03-25 16:59
Hallo,
also, leider immer noch der Fehler.
Das Problemchen, das Array wird in Zeile 67 in jedem Fall erzeugt, also die Abfrage ob die Variable existiert reicht in diesem Fall nicht. Besser ist z.B.:
Dann klappt es bei mir.
Und, wirklich coole Geschichte.
Felix
PS: Lässt sich das ganze wohl auch auf den Kalender ausweiten??
also, leider immer noch der Fehler.
Das Problemchen, das Array wird in Zeile 67 in jedem Fall erzeugt, also die Abfrage ob die Variable existiert reicht in diesem Fall nicht. Besser ist z.B.:
Code:
Zeile 69: if ($newsArchives[0] == "") { return; }
Dann klappt es bei mir.
Und, wirklich coole Geschichte.
Felix
PS: Lässt sich das ganze wohl auch auf den Kalender ausweiten??
Zuletzt bearbeitet von felixpfeiffer, 2008-03-25 17:23
2008-03-25 17:21
Ich habe noch ein neues Bugfix-Release ins Wiki gestellt. Bisher wurde die maximale Anzahl an anzuzeigenden News-Beiträgen leider ignoriert. Das wurde behoben.
Sobald ich wieder etwas Zeit habe, werde ich das auch mal auf den Kalender ausweiten.
Sobald ich wieder etwas Zeit habe, werde ich das auch mal auf den Kalender ausweiten.
2008-03-28 10:55
Tolles modul : = ) werd ich auf jedenfall benutzen nur....
ich habe nach dem erstellen der multifeeds diese fehlermeldung.... obwohl ich die neuste version haben = /
ich habe nach dem erstellen der multifeeds diese fehlermeldung.... obwohl ich die neuste version haben = /
Code:
Fatal error: Uncaught exception Exception with message Query error: Unknown column 'start' in 'where clause' (SELECT * FROM tl_news WHERE pid IN(10,7,11,8,6,9) AND published=1 AND (start=1216114902 OR start<1216114902) ORDER BY date DESC LIMIT 0,50) thrown in /www/htdocs/w009ba02/MEINE-WEBSITE/system/libraries/Database.php on line 502 #0 /www/htdocs/w009ba02/MEINE-WEBSITE/system/modules/multifeeds/Multifeed.php(101): Database_Statement->execute(1, 1216114902, 1216114902) #1 /www/htdocs/w009ba02/MEINE-WEBSITE/system/modules/multifeeds/Multifeed.php(51): Multifeed->generateFile(Array) #2 /www/htdocs/w009ba02/MEINE-WEBSITE/system/drivers/DC_Table.php(1496): Multifeed->generateFeeds(Object(DC_Table)) #3 /www/htdocs/w009ba02/MEINE-WEBSITE/system/modules/backend/Backend.php(206): DC_Table->edit() #4 /www/htdocs/w009ba02/MEINE-WEBSITE/typolight/main.php(99): Backend->getBackendModule('multifeeds') #5 /www/htdocs/w009ba02/MEINE-WEBSITE/typolight/main.php(295): Main->run() #6 {main}
2008-07-15 11:47
Hallo Norrec,
hast Du mit dem Install Tool nach der Einbindung des Moduls die TL-Datenbank aktualisiert?
Es sieht so aus, als ob nicht alle Felder zur Verfügung stehen.
Gruß, Hagen
hast Du mit dem Install Tool nach der Einbindung des Moduls die TL-Datenbank aktualisiert?
Es sieht so aus, als ob nicht alle Felder zur Verfügung stehen.
Gruß, Hagen
Gruß, Hagen
2008-07-15 20:05
install.php wurde aufgerufen und aktualisiert. da steht aber auch nach der aktualisierung das eine tabelle nicht geändert werden konnte...
2008-07-16 10:09
Hallo Norrec,
wenn die Datenbankanbindung sonst funktioniert, liegt es mit ziemlicher Sicherheit an der SQL-Definition für das Modul, Du solltest da vielleicht mal den Autor des Moduls kontaktieren (siehe Wiki).
Gruß, Hagen
wenn die Datenbankanbindung sonst funktioniert, liegt es mit ziemlicher Sicherheit an der SQL-Definition für das Modul, Du solltest da vielleicht mal den Autor des Moduls kontaktieren (siehe Wiki).
Gruß, Hagen
Gruß, Hagen
2008-07-16 21:54
Sorry, dass ich so spät antworte... bin seit Wochen im Dauerstreß 
Aaaalso, der Fehler lag mal wieder hinter der Tastatur, nämlich bei mir. Ich hatte vergessen eine kleine Anpassung, die ich für unsere Homepage gemacht hatte, aus dem Code herauszunehmen. Ich kann momentan nicht testen, deshalb stelle ich kein neues Bugfix-Release ins Wiki, aber anbei schon mal die Änderung, die den Fehler beheben sollte:
In der Datei Multifeed.php Zeile 94 bitte ersetzen durch:
(bzw. das
einfach entfernen).
Das sollte helfen
Aaaalso, der Fehler lag mal wieder hinter der Tastatur, nämlich bei mir. Ich hatte vergessen eine kleine Anpassung, die ich für unsere Homepage gemacht hatte, aus dem Code herauszunehmen. Ich kann momentan nicht testen, deshalb stelle ich kein neues Bugfix-Release ins Wiki, aber anbei schon mal die Änderung, die den Fehler beheben sollte:
In der Datei Multifeed.php Zeile 94 bitte ersetzen durch:
Code:
") AND published=? ORDER BY date DESC");
(bzw. das
Code:
AND (start=? OR start<?)
einfach entfernen).
Das sollte helfen
2008-08-21 16:02
Hallo
Auch mit der Änderung in Zeile 94 erhalte ich weiterhin folgenden Fehler:
Hab den Modul-Ordner in /system/modules/ kopiert, die install.php aufgerufen und die DB aktualisiert und die 2 Zeilen in die /system/config/dcaconfig.php eingetragen. Ich konnte auch ein neues Multifeed anlegen, nach "speichern und schließen" kam dann obiger Fehler.
Hat jemand noch ne Idee?
### UPDATE ####
Hab den Fehler gefunden, ich hatte 28 Newsarchive ausgewählt, das DB Feld news_archives war aber nur vom typ varchar (255), der Platz reichte aber nicht aus, somit wurde der String abgeschnitten, ich benötige jetzt ingesamt 384 Zeichen. Ich habe das Feld jetzt von varchar in longtext geändert, nun funktionierts. Vielleicht noch was für die Bugfix-Liste
MfG
Mirko
Auch mit der Änderung in Zeile 94 erhalte ich weiterhin folgenden Fehler:
Code:
Fatal error: Uncaught exception Exception with message Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':26:{i:0;s:2:"13";i:1;s:2:"10";i:2;s:2:"14";i:3;s:2:"17";i:4;s:2:"19";i:5;s:2:"1' at line 1 (SELECT id, jumpTo FROM tl_news_archive WHERE id IN(a:26:{i:0;s:2:"13";i:1;s:2:"10";i:2;s:2:"14";i:3;s:2:"17";i:4;s:2:"19";i:5;s:2:"12";i:6;s:2:"23";i:7;s:2:"27";i:8;s:2:"31";i:9;s:1:"2";i:10;s:2:"11";i:11;s:2:"16";i:12;s:2:"18";i:13;s:2:"20";i:14;s:2:"24";i:15;s:2:"28";i:16;s:2:"32";i:17;s:1:"8";i:18;s:2:)) thrown in F:\xampp\htdocs\verein2\system\libraries\Database.php on line 502 #0 F:\xampp\htdocs\verein2\system\modules\multifeeds\Multifeed.php(76): Database_Statement->execute() #1 F:\xampp\htdocs\verein2\system\modules\multifeeds\Multifeed.php(51): Multifeed->generateFile(Array) #2 F:\xampp\htdocs\verein2\system\drivers\DC_Table.php(175): Multifeed->generateFeeds(Object(DC_Table)) #3 F:\xampp\htdocs\verein2\system\modules\backend\Backend.php(149): DC_Table->__construct('tl_multifeeds') #4 F:\xampp\htdocs\verein2\typolight\main.php(99): Backend->getBackendModule('multifeeds') #5 F:\xampp\htdocs\verein2\typolight\main.php(295): Main->run() #6 {main}
Hab den Modul-Ordner in /system/modules/ kopiert, die install.php aufgerufen und die DB aktualisiert und die 2 Zeilen in die /system/config/dcaconfig.php eingetragen. Ich konnte auch ein neues Multifeed anlegen, nach "speichern und schließen" kam dann obiger Fehler.
Hat jemand noch ne Idee?
### UPDATE ####
Hab den Fehler gefunden, ich hatte 28 Newsarchive ausgewählt, das DB Feld news_archives war aber nur vom typ varchar (255), der Platz reichte aber nicht aus, somit wurde der String abgeschnitten, ich benötige jetzt ingesamt 384 Zeichen. Ich habe das Feld jetzt von varchar in longtext geändert, nun funktionierts. Vielleicht noch was für die Bugfix-Liste
MfG
Mirko
Zuletzt bearbeitet von codestorm, 2008-10-31 22:45
2008-10-31 22:32
Hallo,
ich bräuchte genau dieses Modul. Gibt es das nicht mehr? Der Link zum Repository führt jedenfalls zur Forenübersicht...
Nino
ich bräuchte genau dieses Modul. Gibt es das nicht mehr? Der Link zum Repository führt jedenfalls zur Forenübersicht...
Nino
2009-01-29 15:09
Hi
Hast Du die Erweiterung schon irgendwo gefunden? Bin auch auf der Suche danach...
lg mani
Hast Du die Erweiterung schon irgendwo gefunden? Bin auch auf der Suche danach...
lg mani
Zuletzt bearbeitet von manitougs, 2009-02-09 13:59
2009-02-09 13:58
