RSS Reader

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

RSS Reader

Beitrag von Spider IT » Sa 9. Apr 2011, 19:33

Es gibt eine neue Version 2.5 des Readers.
Diese neue Version unterstützt nun auch Bildern aus den Feeds (Häkchen in der Konfiguration).
Außerdem wurde für eine bessere XML-Verarbeitung auf eine neue Klasse "rss_php" von rssphp.net umgestellt.
Das neue Paket kann ab sofort heruntergeladen werden.
Beachtet bitte, dass die Modul-Templates auch geändert wurden (Variable {IMAGE} hinzugefügt).

Gruß
René

Andreas
Beiträge: 254
Registriert: So 16. Nov 2003, 14:48
Wohnort: Reichshof
Kontaktdaten:

Re: RSS Reader

Beitrag von Andreas » Mi 4. Mai 2011, 09:39

Gibt es die Möglichkeit, den Text der RSS zu kürzen?
Das wäre für manche Layouts von Vorteil.
Gruß
Andreas

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: RSS Reader

Beitrag von Spider IT » Mi 4. Mai 2011, 09:50

Die Textlänge wird vom Anbieter des Feeds vorgegeben.
Was du machen könntest wäre pro Artikel ein Div einzubauen, welches du (über das Stylesheet) eine max-height und overflow: hidden; mit gibst.

Gruß
René

Andreas
Beiträge: 254
Registriert: So 16. Nov 2003, 14:48
Wohnort: Reichshof
Kontaktdaten:

Re: RSS Reader

Beitrag von Andreas » Mi 4. Mai 2011, 10:03

Spider IT hat geschrieben:Die Textlänge wird vom Anbieter des Feeds vorgegeben.
Das habe ich schon probiert. Leider ergibt das sehr unschöne Ergebnisse (wenn z.B. die Überschrift über zwei Zeilen geht).
Gibt es keine Möglichkeit den Text über das Modul zu beschränken durch z.B. http://forum.contenido.org/viewtopic.ph ... en#p148195 gemacht wurde?
Gruß
Andreas

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: RSS Reader

Beitrag von Oldperl » Mi 4. Mai 2011, 10:19

Hallo,

in der Datei contenido/includes/functions.api.string.php gibt es dafür die passenden Funktionen. In diesem Fall würde sich die Funktion capiStrTrimAfterWord anbieten.
Diese kann man im Modul an entsprechender Stelle nutzen und die Länge per Modulinput und einem Standardwert definieren.

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: RSS Reader

Beitrag von Spider IT » Mi 4. Mai 2011, 10:25

Wenn solltest du lieber die Contenido-Funktion capiStrTrimAfterWord() benutzen:

Code: Alles auswählen

$text = capiStrTrimAfterWord($text, $maxlaenge);
Gruß
René

Edit: 2 ****e, 1 Gedanke ;)

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: RSS Reader

Beitrag von Oldperl » Mi 4. Mai 2011, 10:30

Spider IT hat geschrieben:Edit: 2 ****e, 1 Gedanke ;)
... schneller :mrgreen:
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Andreas
Beiträge: 254
Registriert: So 16. Nov 2003, 14:48
Wohnort: Reichshof
Kontaktdaten:

Re: RSS Reader

Beitrag von Andreas » Mi 4. Mai 2011, 10:35

Spider IT hat geschrieben:Wenn solltest du lieber die Contenido-Funktion capiStrTrimAfterWord() benutzen:

Code: Alles auswählen

$text = capiStrTrimAfterWord($text, $maxlaenge);
Hm. Und wie verwende ich sie im Modul? Bin leider kein Profi in der PHP-Programmierung... :-(
Wäre toll, wenn mir da kurz jemand helfen könnte... Auch gegen Bezahlung.
Gruß
Andreas

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: RSS Reader

Beitrag von Spider IT » Mi 4. Mai 2011, 12:08

Im Modul RSS-Reader (von mir) ab Zeile 70

Code: Alles auswählen

    $i = 0;
    foreach ($rss->getItems() as $item) {
        if ($i < $FeedMaxItems) {
            $tpl->set("d", "TITLE", prepareStringForOutput($item['title'], $rssencoding));
            $tpl->set("d", "LINK", prepareStringForOutput($item['link'], $rssencoding));
            $tpl->set("d", "DESCRIPTION", prepareStringForOutput($item['description'], $rssencoding));
            $tpl->set("d", "READ_ON", (("CMS_VALUE[3]" == "1") ? mi18n("weiterlesen") : ''));
            $tpl->next();
        }
        $i++;
    }
ersetzen mit

Code: Alles auswählen

    $i = 0;
    foreach ($rss->getItems() as $item) {
        if ($i < $FeedMaxItems) {
            $tpl->set("d", "TITLE", prepareStringForOutput($item['title'], $rssencoding));
            $tpl->set("d", "LINK", prepareStringForOutput($item['link'], $rssencoding));
            $text = capiStrTrimAfterWord($item['description'], 100); // Maximale Laenge des Contents
            $tpl->set("d", "DESCRIPTION", prepareStringForOutput($text, $rssencoding));
            $tpl->set("d", "READ_ON", (("CMS_VALUE[3]" == "1") ? mi18n("weiterlesen") : ''));
            $tpl->next();
        }
        $i++;
    }
Die 100 dann ersetzen durch die gewünschte Länge.
Das ist zwar so "hardcoded" und nicht einstellbar, aber sollte erstmal reichen.

Bezahlung? Nicht nötig, aber wenn du möchtest kannst du mir einen Kaffee spendieren :)

Gruß
René

dosenbrot
Beiträge: 102
Registriert: Fr 27. Aug 2004, 15:37
Kontaktdaten:

RSS Reader für mobile Seiten?

Beitrag von dosenbrot » So 26. Jun 2011, 10:49

Hallo!

Vor einigen Monaten hatte ich im Forum unter Misc schon einmal nach potentiellen Möglichkeiten für dynamische Inhaltsübernahmen bei einer mobilen Seiteninformation gefragt, aber leider gabs null response. Mein Wunsch dies mit der bestehenden Contenido-Version zu verwirklichen, besteht jedoch weiterhin. Neuer Ansatz: Per RSS. Prinzipiell geht das ja auch ganz gut, mit diesem RSS Reader bekommt man längere Magazin-Artikel jedoch nur auf einer Seite untereinander angezeigt.

Frage:
Ist es irgendwie möglich, den RSS Reader so zu erweitern, dass die Artikel nur mit X Zeichen angerissen werden (klar, das geht hiermit schon) und dann per Klick auf "weiter" den vollen Artikel, der in der RSS-Datei steckt, anzuzeigen?

Dann wäre es ja überhaupt kein Problem, eine mobile Version auf einem zweiten Mandanten laufen zu lassen. :) Diese Synchronisieren-Funktion ist nicht ganz so optimal, wenn man am Tag mehrere aktuelle Artikel online stellt.

Danke und Grüße! :-)

GOLD
Beiträge: 71
Registriert: Sa 14. Aug 2004, 22:24
Kontaktdaten:

Re: RSS Reader

Beitrag von GOLD » Mi 7. Sep 2011, 15:41

Hi René,

ich würde gerne auf einer Seite den Reader zweimal einsetzen. Leider erhalte ich die Fehlermeldung "Fatal error: Cannot redeclare myfile()".

Ich dachte mir, dass es vielleicht hilft, wenn ich das Modul dupliziere und die Funktion einfach unbenenne. Hilft aber nicht. Hast du eine Idee, was ich noch probieren könnte, damit ich den Reader zweimal einsetzen kann?

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: RSS Reader

Beitrag von Spider IT » Mi 7. Sep 2011, 15:51

Hallo Gold,

wenn du im 2. Modul die Funktion umbenennst muss es funktionieren.
Die Module werden in der Reihenfolge vom Layout geladen, dann kann die 2. Version des Moduls die Funktion aus der ersten Version benutzen.
Ein Problem gibt es dennoch: es wird in die selbe Datei gespeichert, was bei hohem Traffic eine Überschneidung zur Folge hat.
Besser ist es dann, die 2. Instanz in eine andere Datei speichern zu lassen.

Gruß
René

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: RSS Reader

Beitrag von Spider IT » Fr 9. Dez 2011, 12:15

Achtung! Neue Version 2.6! :)

Neu in diese Version: Feeds werden bis zu 5 Minuten gecached um übermäßigen Anfragen zu vermeiden und Angabe von Dateiname möglich um mehrere Feeds in eine Seite einzubinden.

Gruß
René

steve04
Beiträge: 46
Registriert: Fr 5. Nov 2010, 20:26
Kontaktdaten:

Re: RSS Reader

Beitrag von steve04 » Di 10. Jan 2012, 11:26

Spider IT hat geschrieben:wenn du im 2. Modul die Funktion umbenennst muss es funktionieren.
Hallo René,
kannst Du bitte mal für Doofe aufschreiben, in welcher Zeile was genau umbenannt werden muss, wenn man das Modul zwei Mal auf einer Seite einsetzen will?
Vielen Dank für die Veränderungen in Richtung mehrere Feeds auf einer Seite.
Stephan

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: RSS Reader

Beitrag von Spider IT » Di 10. Jan 2012, 13:28

Hallo Stephan,

in der aktuellen Version gar nichts mehr, da ist die erwähnte Funktion in eine separate Datei untergebracht und kann somit nicht mehrfach deklariert werden.
Importiere (wenn nicht schon geschehen) die aktuelle XML-Datei in das Modul und lade das include-Verzeichnis hoch.
Das Modul kannst du dann ohne Probleme mehrfach einbinden, du musst nur (wegen dem Caching) in der Konfiguration je Feed einen anderen Dateinamen angeben.
Ein Beispiel für diese Einbindung ist hier: http://cms.giid.de/home/index.html (rechts unten, 2 Artikel aus "Computerwoche" und 2 Artikel aus "heise Security").

Gruß
René

Gesperrt