Hallo Bonsai,
ich bekomme die Version nicht ordentlich zum laufen.
Das Problem sind die Umlaute, da der Shop nicht auf UTF-8 läuft
Nun ja, ich habe folgendes festgestellt.
Beim Aufbau der Kategorien gibt es natürlich keine Umlaute, die werden zB in "ue" gewandelt.
Bei dem Aufbau der Bilder mit Titel bricht nun alles zusammen.
Benutzte man die Version so wie sie zur Zeit Online steht, werden Umlaute einfach übergangen.
Das führt aber dazu, das später die XML Struktur nicht stimmt, das der <image:title> Tag nicht geschlossen wird.
In der CreateProductMaps habe ich nun folgendes gemacht:
in
$img_title = $siteMap->createElement('image:title',strip_tags(htmlentities($row['products_name'],ENT_XML1
,"iso-8859-15"))); geändert. Also habe ich die Shopcodierung mit übernommen (da sollte man ja die Variable nehme).
Beim Erstellen werden nun alle Umlaute fein erstellt (getestet mit einem ECHO).
Nun wird aber die XML Datei nicht aufgebaut, da die Ausgabe beim ersten Umlaut abbricht. Das Gleiche passiert auch, wenn man sich das $Sitemap Array mit print_r anzeigen lassen will.
Die Zuweisung der Variabel wird ja auch gleich gehalten
$siteMap=new DOMDocument('1.0', DB_SERVER_CHARSET);
Die Fehlermeldung im Log sagt natürlich das die Umwandlung nicht geht:
PHP Warning: DOMDocument::saveXML(): output conversion failed due to conv error, bytes
Ich habe nun keine Ahnung, wo ich noch ansetzen sollte, um den Fehler zu finden.
Generell wäre es ja besser den Shop auf UTF-8 umzustellen, aber man will ja nicht so vom Shopsystem abweichen und die Grundsatzdiskussion über den Stand der Technik will man ja gar nicht mehr führen.
Alternativ könnte ich mir vorstellen, das es langt, die Sitemap generell als UTF-8 auszuliefern und nur die Daten in den Funktionen von ISO-8859-15 in UTF-8 zu codieren, bevor sie zugewiesen wird.
Oder liegt die Lösung nah und trivial und ich erkenne sie einfach nicht?
vg,
mhbosch