Seite 5 von 7

RSS Reader

Verfasst: Sa 9. Apr 2011, 19:33
von Spider IT
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é

Re: RSS Reader

Verfasst: Mi 4. Mai 2011, 09:39
von Andreas
Gibt es die Möglichkeit, den Text der RSS zu kürzen?
Das wäre für manche Layouts von Vorteil.

Re: RSS Reader

Verfasst: Mi 4. Mai 2011, 09:50
von Spider IT
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é

Re: RSS Reader

Verfasst: Mi 4. Mai 2011, 10:03
von Andreas
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?

Re: RSS Reader

Verfasst: Mi 4. Mai 2011, 10:19
von Oldperl
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

Re: RSS Reader

Verfasst: Mi 4. Mai 2011, 10:25
von Spider IT
Wenn solltest du lieber die Contenido-Funktion capiStrTrimAfterWord() benutzen:

Code: Alles auswählen

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

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

Re: RSS Reader

Verfasst: Mi 4. Mai 2011, 10:30
von Oldperl
Spider IT hat geschrieben:Edit: 2 ****e, 1 Gedanke ;)
... schneller :mrgreen:

Re: RSS Reader

Verfasst: Mi 4. Mai 2011, 10:35
von Andreas
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.

Re: RSS Reader

Verfasst: Mi 4. Mai 2011, 12:08
von Spider IT
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é

RSS Reader für mobile Seiten?

Verfasst: So 26. Jun 2011, 10:49
von dosenbrot
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! :-)

Re: RSS Reader

Verfasst: Mi 7. Sep 2011, 15:41
von GOLD
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?

Re: RSS Reader

Verfasst: Mi 7. Sep 2011, 15:51
von Spider IT
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é

Re: RSS Reader

Verfasst: Fr 9. Dez 2011, 12:15
von Spider IT
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é

Re: RSS Reader

Verfasst: Di 10. Jan 2012, 11:26
von steve04
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

Re: RSS Reader

Verfasst: Di 10. Jan 2012, 13:28
von Spider IT
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é