WordPress-Blog in xt:Commerce integrieren

Zahlreiche Shopbetreiber dürften neben ihrem Shop auch noch ein Blog führen. Will man jetzt die letzten Artikel aus dem Blog in xt:Commerce oder auch xtcModified einbinden kann man versuchen, den ganzen WordPress-Krempel noch zusätzlich in den Shop zu stecken oder man geht den einfacheren Weg über den RSS-Feed des Blogs.

Die nachstehende Lösung macht genau das, benötigt php5 mit simplexml-Erweiterung (die standardmäßig installiert ist) und übernimmt auch noch gleich die Charset-Konvertierung von UTF-8 zum von xtcModified nach wie vor genutzten ISO-8859-1. Natürlich kann man das ganze noch aufbohren, etwa mit einem Caching, damit nicht bei jedem Seitenaufruf der Feed parst wird, oder ähnlichem. Das kann dann jeder individuell integrieren.

Minimale Einbauanleitung:
blog.php nach templates/xtc5/source/boxes/, FEED_URL und FEED_MAX_ITEMS anpassen.
box_blog.html nach templates/xtc5/boxes/

In templates/xtc5/source/boxes.php nach

include(DIR_WS_BOXES . 'newsletter.php');

einfügen:

include(DIR_WS_BOXES . 'blog.php');

In templates/xtc5/index.html

{$box_BLOG}

dort einfügen, wo man es haben will.

GPL. Kein Support. Wer nicht weiß, was er tut: Finger weg. Ich bin nicht verantwortlich für irgendwelche Probleme, die beim Benutzen oder Einbau auftreten. Backup machen. Immer.

Download

Schei� Encoding, was, Afterbuy?

Das Internet – unendliche Weiten. Wir schreiben das Jahr 2011. Dies sind die Abenteuer des Raumschiffs UTF-8, das mit seiner viele tausend Zeichen starken Besatzung seit Lichtjahren unterwegs ist, um den fernen Planeten Afterbuy zu erreichen.

Ich hatte ja gedacht, Afterbuy wäre eine amerikanische Firma, die nach einer Expansion auf den deutschen Markt mit dem hochkomplexen Problem „Sonderzeichen” konfrontiert wurde und vor diesem kapituliert ist. Ich musste mich von Wikipedia eines besseren belehren lassen.

Afterbuy wird von vielen Multichannel-Shopbetreibern zur Auftragsabwicklung benutzt. Übernahme der Bestellung aus der Plattform (eBay, Amazon), Tracking der Bestellung, Versand der Rechnung, alles unter einem Dach. So weit, so gut.

Die Rechnung kommt als HTML-Datei daher. Und ich will hier jetzt gar nicht die Diskussion anstoßen, ob ein HTML-Dokument überhaupt eine ordentliche Rechnung sein kann, das wäre (mindestens) einen eigenen Beitrag wert, es geht mir darum, dass es Afterbuy im Jahr 2011 noch immer nicht schafft, das Dokument mit ordentlichen Sonderzeichen auszuliefern. Wahrscheinlich kauft Afterbuy das T-Shirt Schei� Encoding bei GetDigital palettenweise.

Öffnet man nämlich eine solche Rechnung in einem beliebigen Browser wird man vor allem mit �-Zeichen konfrontiert. Der geneigte Webworker denkt sich: „Naja, ist halt UTF-8 und der Browser zu blöd, das zu erkennen”. Also flugs Textkodierung geändert. Ergebnis: Immer noch �, wo eigentlich Sonderzeichen sein sollten. Und es ist egal, was man einstellt, es wird dabei bleiben. Und das schlimmste ist: Man kann das nicht einmal automatisiert beheben. Denn im Quelltext steht:

Mit freundlichen Gr��en

�? Und sowohl für ü als auch für ß? Nun, 65533 oder auch 0xFFFD ist im Unicode-Zeichensatz der Replacement Character, also eben genau jenes �, das da zu sehen ist. Irgendwo läuft da bei Afterbuy gehörig was schief. Vielleicht ist das UTF-8-Raumschiff auch schon angekommen, man hat aber niemandem bei Afterbuy gesagt, dass es keine gute Idee ist, alles, was nicht ASCII ist, durch � zu ersetzen.

Wenn man nicht jede Rechnung, die man über Afterbuy bekommt, manuell mühsam korrigieren will, wird man mit kaputten Sonderzeichen leben müssen, bis es Afterbuy mal auf die Reihe bekommt, diese korrekt in das Dokument zu schreiben. Vielleicht sollten sie Zeit und Energie aber lieber in signierte PDF-Rechnungen investieren…