Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 25. Juni 2012 15:07

gbock
probiert CMS/ms aus
Registriert: 22. März 2011
Beiträge: 55

kein valider Feed mit CGFeedMaker 1.0.15

hallo zusammen,

ich scheine ein ähnliches Problem zu haben...wie heir beschrieben:
http://www.cmsmadesimple.de/forum/viewt … 530#p19530
(da dort gelöst, dachte ich eröffne ich besser einen neuen Thread?!)

Beim Aufruf von:  www.picompany.de/feeds/news/
meint der IE 9 "Dieser Feed enthält Fehler."
und mein FF 13.0.1 schlägt vor das dynamische Lesezeichen zu abonnieren; meint dann aber auch "Dyn. Lesezeichen konnte nicht geladen werden"

CMSMS:             1.10.3
(da bin ich baff, dass die Version noch aktuell ist...kein Update in den letzten Monaten?!)
CGFeedMaker    1.0.15
CGExtensions    1.29.1

der w3.org validator gibt mir direkt ein paar Fehler, die ich aber trotz näherer Erklärung nicht eliminieren kann...

1)
der erste Fehler ist das Leerzeichen hinter einem "&" in einem title tag
Wenn ich das mit nem + ersetze springt er zum nächsten Eintrag, in dem ein "&" vorkommt...
Habe auch versucht das "&" mit & zu ersetzen,
also {$feed.title|replace:'&':'&'|replace:';amp;':''}
>> keine Änderung

2)
Feeds should not be served with the "text/html" media type
Habe an dem template nichts geändert und auch dort steht ja type="application/rss+xml"
<atom:link href="{$feed_url}" rel="self" type="application/rss+xml" />

3)
Your feed appears to be encoded as "UTF-8", but your server is reporting "US-ASCII"
Kann ich da was machen oder muss ich meinen Hoster fragen?

4)
Self reference doesn't match document location
>> wieder k.A. :-(

Ich hoffe meine Angaben sind soweit vollständig

Offline

#2 25. Juni 2012 16:41

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: kein valider Feed mit CGFeedMaker 1.0.15

Habe auch versucht das "&" mit &amp; zu ersetzen,
also {$feed.title|replace:'&':'&amp;'|replace:';amp;':''}
>> keine Änderung

Das solltest Du auch mit der Feed-Url machen.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#3 25. Juni 2012 16:47

gbock
probiert CMS/ms aus
Registriert: 22. März 2011
Beiträge: 55

Re: kein valider Feed mit CGFeedMaker 1.0.15

hm, dachte das wäre irrelevant, da der Fehler ja im title tag ist...habe ich nun dennoch gemacht; leider ohne erfolg:
<atom:link href="{$feed_url|replace:'&':'&amp;'|replace:';amp;':''}" rel="self" type="application/rss+xml" />

Offline

#4 26. Juni 2012 16:37

gbock
probiert CMS/ms aus
Registriert: 22. März 2011
Beiträge: 55

Re: kein valider Feed mit CGFeedMaker 1.0.15

hallo zusammen,

also wenn ich die & Zeichen alle ersetze funktioniert das einwandfrei.
Allerdings ist das & Bestandteil eines Namens und somit sollte das doch möglichst stehen bleiben. hat vielleicht noch jemand eine Ideeß
Ist der Knackpunkt vielleicht doch die abwiechende Kodierung (Fehler 3) und wenn ja was wäre die Lösung hierfür?

besten Dank

Offline

#5 26. Juni 2012 18:21

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: kein valider Feed mit CGFeedMaker 1.0.15

Was die Kodierung angeht, probier mal folgendes:
Ändere mal im feed-Template die Zeile

in

<?xml version="1.0" encoding="UTF-8"?>

Falls das nicht hilft, versuch mal den Server mit der .htaccess Datei dazu bringen, UTF-8 Kodierung zu senden. Siehe dazu z.B.:
http://www.w3.org/International/questio … charset.en
http://httpd.apache.org/docs/current/mo … addcharset
http://httpd.apache.org/docs/current/mo … ultcharset

So solltest Du auch den Dokument-Typ für XML Dateien auf "application/rss+xml" setzen können.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#6 27. Juni 2012 10:12

gbock
probiert CMS/ms aus
Registriert: 22. März 2011
Beiträge: 55

Re: kein valider Feed mit CGFeedMaker 1.0.15

Besten Dank erstmal, aber leider hat das auch nichts gebracht:
Nur der Fehler 3 ist nun weg, dank des default charsets

Bei allem anderen leider keine Veränderung
AddType habe ich in allen möglichen Kombinationen mit . und rss statt atom etc. ausprobiert

# Einstellung für rss feed
AddDefaultCharset UTF-8
AddType application/atom+xml xml rss

Gibt es noch eine Idee?

Offline

#7 27. Juni 2012 10:26

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: kein valider Feed mit CGFeedMaker 1.0.15

Das Problem ist, dass der Link zum Feed keine Datei anfordert. Zumindest nicht im Link. Der Link lautet ja picompany.de/feeds/news/ Der Server weiß nicht was sich dahinter verbirgt. Und CGFeedMaker sendet offenbar von sich aus keinen entsprechenden Header. Daher ist man da auf die Einstellungen des Servers angewiesen. D.h. mit AddType wirst Du nicht viel erreichen, weil der Apache Server nicht weiß, was da am Ende zurückgegeben werden soll und verwendet stattdessen den standard Typ. Du müsstest CGFeedMaker so konfigurieren, dass da auch explizit eine Dateiendung verwendet wird. Dann kannst Du dem Server sagen, dass er bei .rss oder .xml Dateien einen entsprechenden Header mitsenden soll.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#8 27. Juni 2012 10:47

gbock
probiert CMS/ms aus
Registriert: 22. März 2011
Beiträge: 55

Re: kein valider Feed mit CGFeedMaker 1.0.15

auch da leider keine Änderung:
http://www.picompany.de/feeds/news.rss

AddDefaultCharset UTF-8
AddType application/rss+xml .rss

aber nun habe ich mal spasseshalber das & mit + ersetzen lassen und sehe das das gar nicht funktioniert, das & wird immernoch bemängelt...
<title>{$feed.title|replace:'&':'+'|replace:';amp;':''}</title>

Offline

#9 27. Juni 2012 13:05

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: kein valider Feed mit CGFeedMaker 1.0.15

AddType application/rss+xml .rss

Mach mal nur "rss" (ohne Punkt).

<title>{$feed.title|replace:'&':'+'|replace:';amp;':''}</title>

Wo hast Du denn das her?
Du ersetzt & mit + ?
Es sollte ausreichen & mit &amp; zu ersetzen:

<title>{$feed.title|replace:'&':'&amp;'</title>

Ich weiß jetzt nicht genau, ob Smarty den Modifikator tatsächlich auf $feed.title anwendet, oder nur auf den Index "title". Um das zu testen, kannst Du ja mal folgendes ausprobieren:

{$feed.title|replace:'title':'foo'}

Sollte es da dann eine Fehlemeldung geben, oder nichts angezeigt werden, dann musst Du den Titel erst einer Variable zuweisen und dann diese Variable verwenden:

{assign var="feed_title" value=$feed.title}
{$feed_title|replace:'&':'&amp;'}

Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#10 27. Juni 2012 14:03

gbock
probiert CMS/ms aus
Registriert: 22. März 2011
Beiträge: 55

Re: kein valider Feed mit CGFeedMaker 1.0.15

tata!!!

Die Defintion der variable hat mir geholfen!!!

Allerdings lag der Fehler viel weiter unten im abruf des arrays...
Ich habe es jetzt so gelöst:

{foreach from=$items item='entry'}
    <item>
       {assign var="subfeed_title" value=$entry->title|cms_html_entity_decode}
      <title>{$subfeed_title|replace:'&':'&amp;'}</title>


was bleibt ist immernoch das meckern
Feeds should not be served with the "text/html" media type

aktueller .htaccess eintrag
AddDefaultCharset UTF-8
AddType application/rss+xml rss xml

Offline

#11 27. Juni 2012 14:19

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: kein valider Feed mit CGFeedMaker 1.0.15

Anstelle von AddType gäbe es da noch ForceType.
.htaccess-Beispiele gibt es auch noch hier (ForceType ist ganz unten).


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#12 27. Juni 2012 15:08

piratos
arbeitet mit CMS/ms
Registriert: 12. August 2011
Beiträge: 545

Re: kein valider Feed mit CGFeedMaker 1.0.15

->  "text/html" media type

Wenn ich das richtig sehe wird das über PHP als Standard Header ausgegeben und das ist für RSS mit Sicherheit verkehrt - Programmfehler.

Offline

#13 27. Juni 2012 15:55

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: kein valider Feed mit CGFeedMaker 1.0.15

Nö. Der Header wird von CGFeedMaker korrekt gesetzt:

$variables =& $gCms->variables;
if( preg_match( '/Mozilla/', $_SERVER["HTTP_USER_AGENT"] ) )
{
  $variables['content-type'] = 'text/xml';
}
else 
{
  $variables['content-type'] = 'application/rss+xml';
}

Nur funktioniert dieses hier seit CMSms 1.10 nicht mehr:

Wenn mich nicht alles täuscht, müsste es so funktionieren:

if( preg_match( '/Mozilla/', $_SERVER["HTTP_USER_AGENT"] ) )
{
  cmsms()->set_variable('content-type', 'text/xml');
}
else 
{
  cmsms()->set_variable('content-type', 'application/rss+xml');
}

Nur sitzt der Fehler noch an anderer Stelle. In der index.php ist ein Tippfehler (die eckigen Klammern):

$ct = cmsms()->get_variable['content-type'];
if( !$ct ) $ct = 'text/html';
header("Content-Type: $ct; charset=" . get_encoding());

So müsste es eigentlich aussehen:

$ct = cmsms()->get_variable('content-type');
if( !$ct ) $ct = 'text/html';
header("Content-Type: $ct; charset=" . get_encoding());

Aber das müsste man doch mit SetType bzw. ForceType in der .htaccess überschreiben können, oder?


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#14 28. Juni 2012 09:36

gbock
probiert CMS/ms aus
Registriert: 22. März 2011
Beiträge: 55

Re: kein valider Feed mit CGFeedMaker 1.0.15

folgende Website habe ich gefunden und analog umgesetzt:
http://itst.net/209-nachschlag-xml-korrekt-ausliefern

die & Ersetzung konnte ich nun wieder raus nhemen dank der definition von einem anderen charset
ich habe die dateiendung in xml geändert:
http://www.picompany.de/feeds/news.xml
und in der .htaccess lautet es nun

AddCharset iso-8859-15 .xml
AddType application/rss+xml .xml
<Files atom.xml>
  ForceType application/atom+xml
</Files>

heul: der validator spuckt mir immernoch "text/html" als media type aus

any idea???

Offline

#15 28. Juni 2012 09:40

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: kein valider Feed mit CGFeedMaker 1.0.15

Ändere doch mal in der index.php folgende Zeilen:

$ct = cmsms()->get_variable['content-type'];
if( !$ct ) $ct = 'text/html';
header("Content-Type: $ct; charset=" . get_encoding());

in

$ct = cmsms()->get_variable('content-type');
if( !$ct ) $ct = 'text/html';
header("Content-Type: $ct; charset=" . get_encoding());


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#16 28. Juni 2012 09:51

gbock
probiert CMS/ms aus
Registriert: 22. März 2011
Beiträge: 55

Re: kein valider Feed mit CGFeedMaker 1.0.15

auch das ändert nichts :-(
soll ich nun die eckigen Klammern wieder reinsetzen?

Offline

#17 28. Juni 2012 09:56

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: kein valider Feed mit CGFeedMaker 1.0.15

Nein, schau erstmal in die Datei /modules/CGFeedMaker/action.default.php
Und ändere die Zeilen 86 bis 94 wie oben beschrieben.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#18 28. Juni 2012 10:27

gbock
probiert CMS/ms aus
Registriert: 22. März 2011
Beiträge: 55

Re: kein valider Feed mit CGFeedMaker 1.0.15

immer noch keine Änderung :-(

Offline

#19 28. Juni 2012 10:57

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: kein valider Feed mit CGFeedMaker 1.0.15

Dann bin ich hier mit meinem Latein leider am Ende.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#20 28. Juni 2012 11:08

piratos
arbeitet mit CMS/ms
Registriert: 12. August 2011
Beiträge: 545

Re: kein valider Feed mit CGFeedMaker 1.0.15

Unter http://www.rexswain.com/httpview.html  kann man sich gut zeigen lassen, was mit welchen Headern ausgeliefert wird.

Offline

#21 28. Juni 2012 11:13

gbock
probiert CMS/ms aus
Registriert: 22. März 2011
Beiträge: 55

Re: kein valider Feed mit CGFeedMaker 1.0.15

besten Dank für Eure Mühen!

Sollte ich die Änderungen in der index und der action.default.php wieder rückgängig machen?

Könnte es rein theoretisch mit einem anderen Modul zusammenhängen, z.B. MultiDomains?

rex swain wirftmir auch "text/html" als media type aus ...

Offline

#22 28. Juni 2012 11:20

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: kein valider Feed mit CGFeedMaker 1.0.15

Sollte ich die Änderungen in der index und der action.default.php wieder rückgängig machen?

Kannst Du. Musst Du aber nicht, da es sich meiner Meinung nach ohnehin um Fehler handelt, die behoben werden sollten.

Könnte es rein theoretisch mit einem anderen Modul zusammenhängen, z.B. MultiDomains?

Da bin ich überfragt. Rein theoretisch wäre das möglich. Da müsste man mal in den Code schauen, ob MD Header sendet bzw. welches von den Modulen als letztes ausgeführt wird.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#23 28. Juni 2012 11:23

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: kein valider Feed mit CGFeedMaker 1.0.15

Hab gerade Deine E-Mails gelesen.
Bist Du Dir sicher, dass Du die Dateien auf dem Server überschrieben hattest?
Denn wenn die Module über den Modulmanager installiert worden sind, kannst Du die Dateien nicht via FTP überschreiben. Du kanst dann rein theoretisch auch nicht via FTP die Zugriffsrechte ändern. Das müsstest Du über den FileManager im CMS machen.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#24 28. Juni 2012 11:36

gbock
probiert CMS/ms aus
Registriert: 22. März 2011
Beiträge: 55

Re: kein valider Feed mit CGFeedMaker 1.0.15

ja!
Mein hoster bietet die Möglichkeit die Besitzrechte online zu ändern.
Das habe ich gemacht und die datei hat nun auch ein neues Datum bekommen...
ftp programm sagt "226 Transfer complete"

und sicherheitshalber habe ich nun die action.default.php umbenannt und dann wird der feed auch nicht mehr dargestellt!

Offline

#25 28. Juni 2012 14:57

Andiministrator
Kabeljungwerker
Ort: Plauen / Vogtland
Registriert: 09. November 2010
Beiträge: 264
Webseite

Re: kein valider Feed mit CGFeedMaker 1.0.15

MultiDomains ändert eigentlich keine HTTP-Header Daten wie den Content-Typ. Das einzige, wozu MD mit den HTTP-Header nutzt, sind Umleitungen, aber dann spielt der Rest vom HTTP-Header auch keine Rolle mehr wink

Ich hatte das Problem auch schon gehabt (wenn auch in einem anderen Zusammenhang). Ich weiß nicht mehr genau, was geholfen hatte, aber ich habe folgende Schritte durchgeführt:

  1. index.php und config.php mit Notepadd++ geöffnet und die Kodierung auf "UTF8 ohne BOM" geändert

  2. Modul Template Externalizer aktiviert

  3. Das Seiten-Template als auch alle anderen relevanten Templates über Notepadd++ geöffnet und diese ebenfalls als UTF8 ohne BOM abgespeichert

Klingt zwar nicht nachvollziehbar, weil dadurch eigentlich der HTTP-Header nicht geändert wird, aber es funktionierte (in meinem Fall).

Eine andere Idee wäre, Dateien mit .xml Endung über die .htaccess anders auszuliefern.
Ich weiß nur nicht mehr wie das ging, war es sowas wie "AddCharset UTF-8 .xml"? Na es gibt ja Google wink


Arbeitet bei conversearch GmbH: http://conversearch.de (Webseiten-Analyse und -Monitoring)
Bloggt bei Andiministrator.de: http://andiministrator.de

Offline