[PLUGIN] Feedview_XH

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Ralf H.
Posts: 495
Joined: Sun Feb 16, 2014 1:45 pm
Location: Münsterland
Contact:

Re: [PLUGIN] Feedview_XH

Post by Ralf H. » Wed Nov 05, 2014 11:11 am

cmb wrote:
Ralf H. wrote:Dann müsste man wissen, mit welchem Parameter die Bilder der Feeds aufgerufen werden?!
Hm, so wie es aussieht stehen die Bilder in diesem Fall am Anfang des vollen Artikels. Den bekommt man per $item->get_content(). Das Bild könnte man dann wohl wie folgt anzeigen (ungetestet):

Code: Select all

<?php echo substr($item->get_content(), 0, strpos($item->get_content(), '>') + 1)?>
Funktioniert perfekt auf deutscher Seite. :idea:

Sobald ich auf english Language wechsele, wird mein Haupttemplate zerschossen. Debug-Mode zeigt keinen Fehler.
Auf der englischen Seite habe ich inzwischen verschiedene Feed-Links probiert, die alle genanntes Probleme haben:
englisch 01 Haupttemplate zerschossen
englisch 02 Haupttemplate zerschossen
englisch 03 keine Bilder, aber Haupttemplate bleibt erhalten. Den nutze ich erst mal.
Wenn ich auf der englischen Seite den deutschen Feed-link einsetze, funktioniert es. Es liegt also an den Feeds und nicht am Sprachwechsel meiner 2sprachigen Page.

Ich muss jetzt einen englischen RSS-Feed finden, der richtig funktioniert, oder?!

lg,
Ralf
Badminton Individual-/Gruppentraining im Münsterland:
http://www.badminton-tips.de (deutsch)

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [PLUGIN] Feedview_XH

Post by cmb » Wed Nov 05, 2014 11:45 pm

Ralf H. wrote:Ich muss jetzt einen englischen RSS-Feed finden, der richtig funktioniert, oder?!
Nein. Du musst nur eine Einbindung finden, die richtig funktioniert. Bei der geposteten bin ich der Einfachheit davon ausgegangen, dass zu Beginn des Artikel-Inhalts immer ein Bild (<img>) steht. Wenn das nicht der Fall ist, werden u.U. andere Teile des Inhalts ins HTML geschrieben; bei "english 01" z.B. ein öffnendes <div> Tag.

Nun enthalten weder "english 01", "english 02" noch "english 03" Bilder für die einzelnen Artikel. Die vielleicht einfachste Möglichkeit das erste Bild im Artikelinhalt auszugeben, falls denn überhaupt eines vorhanden ist, wäre (wieder ungetestet):

Code: Select all

<?php if (preg_match('/<img[^>]*>/', $item->get_content(), $temp)) {echo $temp[0];}?>
Christoph M. Becker – Plugins for CMSimple_XH

Ralf H.
Posts: 495
Joined: Sun Feb 16, 2014 1:45 pm
Location: Münsterland
Contact:

Re: [PLUGIN] Feedview_XH

Post by Ralf H. » Thu Nov 06, 2014 12:42 pm

cmb wrote:Die vielleicht einfachste Möglichkeit das erste Bild im Artikelinhalt auszugeben, falls denn überhaupt eines vorhanden ist, wäre (wieder ungetestet):

Code: Select all

<?php if (preg_match('/<img[^>]*>/', $item->get_content(), $temp)) {echo $temp[0];}?>
Supi.
Klappt nicht bei allen englischen RSS-Feeds (trotz dortiger Bilder), aber zumindest geht es bei manchen. Das hilft mir schon gut weiter.
Bei der deutschen geht es auch weiterhin. :idea:

Die englischen verwenden leider unterschiedliche Bildformate, was etwas durcheinander wirkt.

Habe folgende css-klasse im Template integriert:

Code: Select all

<div class="feedview_item_image"><?php if (preg_match('/<img[^>]*>/', $item->get_content(), $temp)) {echo $temp[0];}?></div>
In der css den Parameterhinzu gefügt:

Code: Select all

.feedview_item_image {}
Die Funktion ist dank deiner Hilfe bisher schon klasse. Danke.
Wenn ich noch für unterschiedliche Feeds (oder Inhaltselemente) verschiedene Templates aufrufen kann, dann gibt es auf meiner Page (bezgl. Feeds) kaum noch Verbesserungpotential.
Ich würde dann 4 Templates und css für 4 Feeds erstellen (da diese unterschiedlich aussehen und 2 unterschiedliche Bereiche füllen):
default-de_content.php (lassen wie es ist)
default-de_newsbox.php (evtl. ohne Bilder und auf 3 Items begrenzen)
default-en_content.php (Bilder einheitlich auf max-width 30% setzen)
default-en_newsbox.php (evtl. ohne Bilder und auf 3 Items begrenzen)

Wenn das mit den unterschiedlichen Templates nicht geht, ist es auch o.k.

lg,
Ralf
Badminton Individual-/Gruppentraining im Münsterland:
http://www.badminton-tips.de (deutsch)

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [PLUGIN] Feedview_XH

Post by cmb » Thu Nov 06, 2014 7:41 pm

Ralf H. wrote:Klappt nicht bei allen englischen RSS-Feeds (trotz dortiger Bilder), aber zumindest geht es bei manchen.
Kannst Du mal ein Beispiel eines Feeds posten, bei dem es nicht klappt. Das schau ich mir dann gerne mal genauer an.
Ralf H. wrote:Habe folgende css-klasse im Template integriert:

Code: Select all

<div class="feedview_item_image"><?php if (preg_match('/<img[^>]*>/', $item->get_content(), $temp)) {echo $temp[0];}?></div>
In der css den Parameterhinzu gefügt:

Code: Select all

.feedview_item_image {}
Danke für die Lösung -- sicherlich auch für andere nützlich. Das füge ich gerne noch zur Hilfe-Datei hinzu.
Ralf H. wrote:Wenn ich noch für unterschiedliche Feeds (oder Inhaltselemente) verschiedene Templates aufrufen kann, dann gibt es auf meiner Page (bezgl. Feeds) kaum noch Verbesserungpotential.
Das geht ganz einfach, siehe http://3-magi.net/demo/presentation/plu ... e-template.
Christoph M. Becker – Plugins for CMSimple_XH

Ralf H.
Posts: 495
Joined: Sun Feb 16, 2014 1:45 pm
Location: Münsterland
Contact:

Re: [PLUGIN] Feedview_XH

Post by Ralf H. » Fri Nov 07, 2014 4:37 pm

cmb wrote:
Ralf H. wrote:Klappt nicht bei allen englischen RSS-Feeds (trotz dortiger Bilder), aber zumindest geht es bei manchen.
Kannst Du mal ein Beispiel eines Feeds posten, bei dem es nicht klappt. Das schau ich mir dann gerne mal genauer an.
Z.B. Badminton World Federation.
cmb wrote:Das geht ganz einfach, siehe http://3-magi.net/demo/presentation/plu ... e-template.
Hat geklappt. Folgendendes hat mich in der Hilfe irritiert:
{{{feedview('%FEED_URL%', 'my_template');}}}
<?php echo feedview('%FEED_URL%, 'my_template');?>
<?php echo feedview('%FEED_URL%, 'my_template');?> hab ich weggelassen. Mir ist der Sinn nicht klar, und es funktioniert ohne den code?

edit: Sorry, jetzt sehe ich, dass der Code nur für Integration in einem Template genutzt werden soll.
Die beiden Codes sollten in der Hilfe evtl. etwas weiter voneinander getrennt stehen?

Um unterschiedliche Bildbreiten für den englischen Feed (im Content) zu erhalten, habe ich eine zusätzliche css-Klasse definiert:

Code: Select all

.feedview_item_image {
 max-width: 100%;
}
.feedview_item_image-en {
 max-width: 30%;
}
Ich habe jetzt 4 unterschiedliche Feedansichten:
Im deutschen Content: default-de_content.php (10 Items mit Bilder einheitlich auf max-width 100%)
Rechts in deutscher Newsbox: default-de_newsbox.php (4 Items mit Bilder einheitlich auf max-width 100%)
Im engl. Content: default-en_content.php (10 Items mit Bilder einheitlich auf max-width 30%)
Rechts in engl. Newsbox: default-en_newsbox.php (4 Items ohne Bilder)

Das Feedview_XH ist für mich jetzt passend.
Für Laien in dem Umfang (wie bei mir) evtl. nicht sehr einfach konfigurierbar, aber wer braucht schon 4 verschiedene Rss-Feeds. :shock:

lg,
Ralf
Badminton Individual-/Gruppentraining im Münsterland:
http://www.badminton-tips.de (deutsch)

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [PLUGIN] Feedview_XH

Post by cmb » Sat Nov 08, 2014 12:42 am

Ralf H. wrote:
cmb wrote:Kannst Du mal ein Beispiel eines Feeds posten, bei dem es nicht klappt. Das schau ich mir dann gerne mal genauer an.
Z.B. Badminton World Federation.
Danke. Der eigentliche Feed enthält keinerlei Bilder -- letztlich ist sogar die <description> leer (was m.E. nicht sinnvoll ist, auch wenn es erlaubt ist). Wenn Du diesen Feed mit dem default Template anzeigen lässt, dann sieht man dort nur die verlinkten Überschriften. Um auch den Inhalt der Artikel anzuzeigen, müsste man die Artikel-Links auslesen (z.B. http://www.bwfbadminton.org/news_item.aspx?id=89330), und den entsprechenden Teil der Website extrahieren. Das ist schon nicht mehr trivial in einem Feedview_XH-Template zu machen, und die Performance dürfte sehr stark leiden (es sei denn, man würde die Ergebnisse noch manuell cachen).
Ralf H. wrote:Die beiden Codes sollten in der Hilfe evtl. etwas weiter voneinander getrennt stehen?
Ja, vermutlich sinnvoll. Da werde ich nachbessern. Grundsätzlich gilt aber bei den meisten Pluginaufrufen das gleiche Prinzip:
  • {{{...;}}} oder #CMSimple $output .= ...;# für die Einbindung auf einer Seite
  • <?php echo ...?> für die Einbindung im Template
Ralf H. wrote:Für Laien in dem Umfang (wie bei mir) evtl. nicht sehr einfach konfigurierbar
Da kann ich nicht widersprechen. Allerdings sind Feeds eben sehr unterschiedlich aufgebaut, so dass es wohl gar nicht möglich ist eine Universallösung zu präsentieren (sonst könnte SimplePie das ja auch gleich tun, anstatt eine sehr umfangreiche API zu bieten). Vermutlich ist das beste, was ich machen kann, verschiedene Templates anzubieten, die auf bestimmte Feeds ausgelegt sind -- dann kann der Anwender mal ein bisschen ausprobieren was passt, und natürlich im Zweifel auch einfach mal nachfragen.
Christoph M. Becker – Plugins for CMSimple_XH

Ralf H.
Posts: 495
Joined: Sun Feb 16, 2014 1:45 pm
Location: Münsterland
Contact:

Re: [PLUGIN] Feedview_XH

Post by Ralf H. » Sat Nov 08, 2014 7:10 pm

cmb wrote:Danke. Der eigentliche Feed enthält keinerlei Bilder
Ich ging dummerweise davon aus, dass ein Feed alle Inhalte (auch Bilder) der Ursprungsseite enthält. Feeds können aber scheinbar drastisch reduziert sein.
Kein Problem, da mir die momentan verwendeten deutschen und englischen reichen.
cmb wrote:Vermutlich ist das beste, was ich machen kann, verschiedene Templates anzubieten, die auf bestimmte Feeds ausgelegt sind -- dann kann der Anwender mal ein bisschen ausprobieren was passt...
Das wäre für Laien sicher eine tolle Hilfe. Für dich allerdings mit viel Arbeit verbunden.

lg,
Ralf
Badminton Individual-/Gruppentraining im Münsterland:
http://www.badminton-tips.de (deutsch)

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [PLUGIN] Feedview_XH

Post by cmb » Sat Nov 08, 2014 7:29 pm

Ralf H. wrote:Ich ging dummerweise davon aus, dass ein Feed alle Inhalte (auch Bilder) der Ursprungsseite enthält. Feeds können aber scheinbar drastisch reduziert sein.
Ja. Ein Feed muss sich nicht einmal auf eine Website beziehen. Der engl. Wikipedia-Artikel drückt das gut aus:
A web feed (or news feed) is a data format used for providing users with frequently updated content.
Christoph M. Becker – Plugins for CMSimple_XH

Ralf H.
Posts: 495
Joined: Sun Feb 16, 2014 1:45 pm
Location: Münsterland
Contact:

Re: [PLUGIN] Feedview_XH

Post by Ralf H. » Sun Feb 15, 2015 12:05 pm

Die News in Feedview sind bei mir online nicht so aktuell wie offline (portable) bei den selben Einstellungen des Plugin.
Egal wie oft ich meine Page neu lade oder den FF-Cache lösche, hinkt die News 1ne hinter dem Original-Feed hinterher.

Habe den Button für cache jetzt mal deaktiviert und der neueste Feed wurde sofort geladen.
Allerdings habe ich portable ebenfalls Cache=on

Sollte ich cache besser off lassen?

lg,
Ralf
Badminton Individual-/Gruppentraining im Münsterland:
http://www.badminton-tips.de (deutsch)

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [PLUGIN] Feedview_XH

Post by cmb » Sun Feb 15, 2015 12:31 pm

Ralf H. wrote:Die News in Feedview sind bei mir online nicht so aktuell wie offline (portable) bei den selben Einstellungen des Plugin.
Egal wie oft ich meine Page neu lade oder den FF-Cache lösche, hinkt die News 1ne hinter dem Original-Feed hinterher.

Habe den Button für cache jetzt mal deaktiviert und der neueste Feed wurde sofort geladen.
Allerdings habe ich portable ebenfalls Cache=on

Sollte ich cache besser off lassen?
Eigentlich nicht. Der Cache verhindert, dass die Feeds bei jedem Seitenaufruf neu gelesen werden, was durch Netzwerklatenz und Feedserverauslastung schon mal eine ganze Weile dauern kann; der Benutzer muss dann evtl. lange auf Deine Site warten, was ja nicht erwünscht ist.

Wie der Cache von SimplePie funktioniert: unter plugins/feedview/cache/ werden die Feeds in geparster Form abgelegt. Solange ein Cache-File vorhanden und aktuell ist, wird der Feed nicht neu gelesen. Die voreingestellte Zeit bis ein gecachter Feed stale ist (also nicht mehr aktuell) ist eine Stunde. Das finde ich eigentlich einen ganz ordentlichen Kompromiss für viele Newsfeeds, aber ich sollte das vielleicht konfigurierbar machen. Schneller Fix für Feedview 1.0beta1: in classes/Controller.php ab Zeile 101:

Code: Select all

        if ($pcf['cache_enabled']) {
            $feed->set_cache_location(
                $pth['folder']['plugins'] . 'feedview/cache/'
            );
            $feed->set_cache_duration(600); // Zeit in Sekunden
        } else {
Das kannst Du ja gerne mal ausprobieren. Ggf. vorher den serverseitigen Cache (alle Dateien in plugins/feedview/cache/) löschen.
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply