Break me up Feed

Logo DrupalDrupal 4.7.x, 5.x

Werden Beiträge mit Bildern versehen kann es bei der Darstellung der Feed-Vorschau zu Problemen bei der Darstellung kommen.

Dabei müssen folgende Faktoren zusammentreffen:

  • Für den Teaser wird ein separates Modul verwendet.
  • Der Teaserinhalt wird mit dem separaten Modul geschrieben.
  • Im Beitrag, nicht im Teaser, wird am Anfang des Textes ein etwas größeres Bild verwendet.
  • Als Zeichenlänge für die automatische Teaserbildung sind beispielsweise 600 Zeichen gewählt.
  • Die Feeds werden als Teaser dargestellt.

Bei der Darstellung des Feed passiert nun folgendes. Der Teaser für den Feed wird aus dem Haupttext erzeugt. Dabei wird der komplette HTML Tag des Bildes bei der Ermittlung der 600 Zeichen mit berücksichtigt. Wenn das Bild umfangreichere Formatierungen enthält wie beispielsweise

<img src="http://farm1.static.flickr.com/61/174809158_a0e0e1a727_t.jpg" alt="Hochspannungsleitung" title="Hochspannungsleitung" align="left" height="100" hspace="4" vspace="3" width="75">

Bei solch einem IMG Tag können also locker 180 und mehr Zeichen "verloren gehen". Verloren in dem Sinne, daß diese Zeichen bei den zu verwendenden 600 Zeichen für die Bildung des Teaser-Textes fehlen. Der Teaser ist damit im Ergebnis zu kurz.

Der eigentliche Faktor, der bei dieser bei dieser Problematik den Auslöser darstellt ist die Verwendung eines separaten Modules für den Teaser und das Verfassen des Teaser-Textes mit diesem Modul.

Bei den normalen Darstellung des Beitrages wird der Teaser mit dem Inhalt des extra Teaser-Textes dargestellt. Das ist in Ordnung.

Der Teaser des Feed wird aber nicht aus dem extra Teaser-Text gebildet sondern wie bereits beschrieben aus dem Haupttext. Das ergibt in beschriebener Konstallation Probleme.

Wer aber nun mit einem separaten Teaser-Text arbeitet kommt in der Regel nicht auf den Gedanken, den Teaser-Text mit

<!--break-->

aus dem Haupttext abzugrenzen. Aber genau dieser Logik folgt der Feedparser und sucht das Break im Haupt-Text. Existiert es nicht werden Zeichen gezählt.

Und genau hierbei ergibt sich die Lösung des Problemes mit dem IMG Tag. Obwohl der Teaser extra geschrieben wird bringt man im Haupttext zusätzlich an gewünschter Stelle den Break an.
Dadurch wird der Teaser im Feed bis zum im Haupt-Text gesetzten Break dargestellt, ohne das dabei IMG Tags im Bereich der 600 Zeichen irrtümlich berücksichtigt werden.

Powered by Drupal. Created with ZenWalk.