[Frage] RSS Creator / Sonder– & Anfuehrungszeichen

Alles rund um Module und Plugins in CONTENIDO 4.9.
Antworten
locotay
Beiträge: 19
Registriert: Mi 4. Jan 2017, 01:10
Kontaktdaten:

[Frage] RSS Creator / Sonder– & Anfuehrungszeichen

Beitrag von locotay » Di 10. Jan 2017, 17:13

Aye folks! (:

Ich habe ein kleines Problem, mit dem content_rss_creator–Modul, oder genauer gesagt zwei.
Das Auslesen der Daten aus den entsprechenden Artikeln funktioniert soweit sauber. Bei den Ueberschriften ist es so, dass Umlaute und Sonderzeichen nicht richtig dargestellt werden, sondern in HTML-Syntax ausgegeben werden. ü -> ü usw.
Dieses Problem hab ich allerdings mehr oder weniger schick loesen koennen, indem ich im Modul folgende Aenderung vorgenommen habe:

Code: Alles auswählen

// alt: $child->title = conHtmlEntityDecode(conHtmlSpecialChars($title));
// neu: $child->title = conHtmlEntityDecode($title);
Das funktioniert soweit, allerdings weiss ich nicht, ob ich damit nicht ggf. andere Funktionalitaet ausser Kraft gesetzt habe. Bisher hab ich zumindest nichts feststellen koennen.
Ebenfalls habe ich ausgetauscht:

Code: Alles auswählen

// alt: $text = strip_tags($article->getContent('HTML', 1));
// neu: $summary = $article->getField('summary');

    if ($summary != "") {
    $text = strip_tags($article->getField('summary'));
    } else {
    $text = strip_tags($article->getContent('HTML', 1));
    }
Allerdings scheint es im Summaryfeld ein Problem mit normalen Anfuehrungszeichen zu geben. Diese werden naemlich auskommentiert.
Zum Thema "Lorem Ipsum"
wird angezeigt wie folgt:
Zum Thema \"Lorem Ipsum\"
Allerdings betrifft dies nur normale Anfuehrungszeichen. Typgraphische Varianten (” “ « » usw) funktionieren einwandfrei. Ich wuerde den Contentcreatorn ja einfach sagen, dass sie dann typograph. Anfuerhrungszeichen benutzen sollen, aber das geht dann eben auch nur in 80% der Faelle gut und in den anderen 20% wird man wieder angeningelt. Wie koennte man dieses Problem also loesen? Ich bin programmiertechnisch nicht so begabt – die Aenderungen, die ich bereits gemacht habe hab ich mit in stundenlanger Arbeit irgendwie zusammengereimt bzw. einfach wild drauf los versucht.
stop(); //hammertime!

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: [Frage] RSS Creator / Sonder– & Anfuehrungszeichen

Beitrag von Faar » Di 10. Jan 2017, 19:49

Am einfachsten wird sein, wenn man darum noch ein stripslashes() herum baut.
http://php.net/manual/de/function.stripslashes.php
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [Frage] RSS Creator / Sonder– & Anfuehrungszeichen

Beitrag von rethus » Di 10. Jan 2017, 19:57

Schau dir mal die Contenido-Function an: http://api.contenido.org/con490/source- ... html#46-57

Sie nutzt: http://php.net/manual/de/function.html- ... decode.php
In der PHP-Doku kannst du sehen, das es "flags" gibt, die auf einfache und doppelte Anführungszeichen Einfluss nimmt.

Ohne übergebenen FLAG wendet er ENT_COMPAT an, was laut PHP-Doku folgendes macht:
Konvertiert doppelte Anführungszeichen und lässt einfache Anführungszeichen unberührt.
Hört sich ja schon so ziemlich nach deinem Problem an.

Schau also zuerst einmal, was genau dabei rauskommt, wenn du $title als STRING ausgibst, ohne conHtmlEntityDecode darauf anzuwenden.
Je nachdem was da rauskommt, kannst du mit einem Flag für die Funktion reagieren:

Code: Alles auswählen

$child->title = conHtmlEntityDecode($title,"ENT_NOQUOTES");
 
Hoffe, das hilft dir weiter.

BTW: Sprechen wir hier von einem RSS-Reader oder Creator? Eigentlich erzeugt der Creator ja XML, was keine Umlaute und Anführungszeichen enthalten, oder diese richtig escapen sollte?! Oder bin ich da gerade auf dem falschen Dampfer? Siehe auch... RSS-Best-Practise
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

locotay
Beiträge: 19
Registriert: Mi 4. Jan 2017, 01:10
Kontaktdaten:

Re: [Frage] RSS Creator / Sonder– & Anfuehrungszeichen

Beitrag von locotay » Mi 11. Jan 2017, 09:34

Aye folks! (:

stripslashes() hat soweit wunderbar funktioniert. Vielen Dank fuer diesen Tipp!

rethus Beitrag hat mich Anfangs ehrlichgesagt ein wenig verwirrt – nach zweitmaligem Lesen weiss ich nun aber, wie das alles gemeint ist (ich muss mich unbedingt mal wirklich ausfuehrlich mit PHP beschaeftigen).
Aber dieser Ansatz hilft mich sicher auch beim loesen einiger anderer Problemchen, die ich habe, also auch dir vielen Dank. (:

Ich spreche uebrigens in der Tat vom RSS Creator und ich weiss, dass dieser XML ausgibt, was soweit richtig escapen sollte. Ich hatte am Ende allerdings das Problem, dass ich dann im RSS Reader ein ü statt einem ü rausbekommen habe. ,–,
stop(); //hammertime!

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [Frage] RSS Creator / Sonder– & Anfuehrungszeichen

Beitrag von rethus » Mi 11. Jan 2017, 21:23

locotay hat geschrieben: nach zweitmaligem Lesen weiss ich nun aber, wie das alles gemeint ist.
....Aber dieser Ansatz hilft mich sicher auch beim loesen einiger anderer Problemchen, die ich habe, also auch dir vielen Dank. (:
Bitte gerne, darum habe ich auch nicht nur die Lösung geschrieben, sondern den Weg aufgezeigt, wie du es künftig selbst herausfinden kannst (das heißt nicht, das du hier nicht fragen kannst, aber meist möchte man ja gerne wissen wo man nachsehen kann, um es selbst zu lösen).

Mit dem RSS-Reader würde ich dir empfehlen mehrere Clients zu testen, ehe du das Modul umbaust. Vielleicht haben die versteckte Einstellungen, oder das Ding, das du zwischen hast, ist einfach nur schlecht umgesetzt.
Wäre schade, wenn du den ganzen Aufwand betreibst, und feststellen musst, das es jetzt bei dem einen geht, aber bei allen anderen nicht :?

Welchen RSS-Reader hast du denn verwendet? Kann man deine RSS-Ausgabeseite irgendwo einsehen?
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

locotay
Beiträge: 19
Registriert: Mi 4. Jan 2017, 01:10
Kontaktdaten:

Re: [Frage] RSS Creator / Sonder– & Anfuehrungszeichen

Beitrag von locotay » Do 12. Jan 2017, 09:15

Lernen ist immer gut und ich denke nicht, dass mir ein paar PHP-Kenntnisse schaden werden. :D

Der Fehler ist mir an mehreren Stellen aufgefallen. Hatte da schon verschiedene Reader ausprobiert. Allerdings immer mit dem Ergebnis, dass mit Umlauten und Anfuehrungszeichen etc. Probleme vorhanden waren.
Sinn der Sache ist, dass auf der Startseite von http://kathweb.de/ die Nachrichten aus den verschiedenen Bistuemern zusammengetragen werden sollen. Bisher lief das alles ueber eine Contenidoinstallation wo man das aus den Mandanten relativ einfach zusammensammeln konnte. Das ist nun nicht mehr so, deshalb die Loesung via RSS. Zusammengetragen wird das Ganze mit Simplepie. Und da ich auch damit erstmal umfangreiche Tests gemacht habe, glaub ich auch nicht, dass das Problem da liegt. Ich hatte bestimmt 50 verschiedene Feeds eingebunden um zu schauen, wie sich Simplepie so schlaegt.
stop(); //hammertime!

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: [Frage] RSS Creator / Sonder– & Anfuehrungszeichen

Beitrag von rethus » Do 12. Jan 2017, 16:54

Also entweder verstehe ich nicht 100 pro, was du meinst, oder du bist mit der falschen Begrifflichkeit unterwegs.
Ein RSS-Creator ist ein Programm, das dir XML erstellt, damit richtige RSS-Reader diese Daten einlesen und wiedergeben können.

Wenn du sagst, das du von anderen Quellen RSS-News holst, und diese dann auf deiner Seite ausgeben willst, ist es von der Begrifflichkeit ein RSS-Reader. Denn du holst die RSS-Nachrichten ja bei der Quelle ab.
Klar ist es begrifflich gesehen etwas schwierig, weil du ja im Endeffekt die eingelesenen Daten auch wieder ausgibst. ABER damit ist das noch kein RSS-Creator, da du ja kein RSS erstellst, sondern normales HTML, was ein Mensch lesen soll, und kein RSS-Rreader-Programm.

Ich muss aber auch gestehen, das ich nicht genau weiß, ob vielleicht die Benennung des Moduls, das du in Contenido einsetzt vielleicht einfach falsch ist... und es ein Tool ist, das RSS holt und ausgibt, anstatt aus deinen Artikeln RSS-Code zu erzeugen.

Ich hatte vor einiger Zeit auch für Contenido ein RSS-Parser erstellt, der auf caffeeRSS basiert... komplett mit caching der geparsten Feeds usw.
Wenn Interesse besteht meld dich einfach via PN mal bei mir.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

locotay
Beiträge: 19
Registriert: Mi 4. Jan 2017, 01:10
Kontaktdaten:

Re: [Frage] RSS Creator / Sonder– & Anfuehrungszeichen

Beitrag von locotay » Do 12. Jan 2017, 17:28

Ich schaetze mal ich hab mich einfach ungluecklich ausgedrueckt.
Deswegen einfach nochmal ausfuehrlich und hoffentlich ebsser formuliert.

Bisher war es so, dass die Bistuemer ihre Nachrichten alle in einer Contenidoinstallation unter verschiedenen Mandaten auf ihren eigenen Seiten veroeffentlich haben. Gleichzeitig wurden diese News im Mandantedn Kathweb zusammenmgetragen und gebuendelt dargestellt. Da die Bistuemer nun allerdings alle ihre eigenen Contenidoinstallationen haben ist es nun so, dass jedes Bistum einen RSS Feed erzeugen soll, den wir dann auf der Kathwebstartseite einlesen koennen um weiterhin alle Nachrichten anbieten zu koennen.
Das Modul mit dem die Bistuemer ihre Feeds erzeugen ist benannt mit content_rss_creator und es tut auch genau das – es erzeugt einen RSS feed. Dieser hat dann eben die beschriebenen Probleme mit Umlauten und Sonderzeichen etc. weshalb das Modul angepasst werden musste, damit die Darstellung stimmt. Diese Fehler treten bei allen Bistuemers identisch auf, da deren installationen gespiegelt von ihren Mandanten sind, die vorher auf dem Kathwebsystem mitgelaufen sind.
stop(); //hammertime!

Antworten