Webentwickler Blog

Tipps und Tricks aus der Magento, WordPress und PHP Welt

Magento: CMS Block im Template ausgeben

Bei Magento gibt es mehrere Möglichkeiten Blöcke anzulegen. Die einfachste Möglichkeit besteht darin, dass man die Blöcke direkt im integrierten CMS anlegt. Dadurch verliert man zwar die Möglichkeit in den Blöcken Code auszuführen, allerdings bestehen viele Blöcke sowieso nur aus statischen Inhalten. Statische Blöcke einbinden Am saubersten erfolgt die Einbindung in den Layout-XML Dateien: Alternativ dazu kann man Blöcke auch direkt in die Template Dateien ( .phtml ) einbinden: Die letzte Möglichkeit ist die Integration direkt in eine...

Das WordPress Afilliate Plugin – wpAffiliCheck

Wer sich mit WordPress beschäftigt und damit die ein oder andere Affiliate Seite erstellt, wird schnell feststellen: Es gibt sehr viele WordPress Plugins für Amazon, Adsense und um Banner zu integrieren. Wer aber für die deutschen Affiliate Netzwerke gute Plugins sucht, bei dem macht sich schnell Ernüchterung breit. Da auch ich vor einigen Tagen mal wieder auf der Suche nach einem passenden Plugin für die Affilinet API war und enttäuscht wurde, habe ich mich spontan dazu entschlossen schnell ein eigenes Plugin zu entwickeln. wpAffiliCheck – das Affiliate Plugin für den deutschen Markt Entstanden ist dabei das Plugin wpAffiliCheck. Entwickelt worden ist das Plugin vor allem für Blogs und Sites die über einzelne Produkte berichten. Bei der Erstellung des Posts kann man in einer Box unterhalb des Contentfeldes die EAN für das Produkt eintragen. Falls man die EAN des Produktes nicht kennt, kann man mit der Amazon Produkt Suche die EAN des Produkts schnell herausfinden. Durch einen Klick auf das Produkt wird die EAN des Produktes in das EAN Feld eingefügt. Damit sich das Plugin optimal in WordPress einfügt wurde die Suche mit ajax/jQuery umgesetzt. wpAffiliCheck Anzeigemöglichkeiten Wenn ein Post eine dazugehörige EAN hat, gibt es zwei Möglichkeiten wie die Preisdaten der verschiedenen Partnerprogramme angezeigt werden. Die einfachere Variante ist die Darstellung in einer Tabelle, wo alle Partnerprogramme mit Preis aufgelistet werden, welche das Produkt in ihrem Shop führen. Die Darstellung der Tabelle ist dabei mit geringen PHP Kentnissen individualisierbar. Im Backend des Plugins kann man einstellen, ob die Tabelle oberhalb oder unterhalb des Contents angezeigt wird. Auch die Sortierung der Tabelle kann man verändern. Durch Tracking welche Links wie oft angeklickt...

Magento auf einen neuen Server umziehen – Typische Fehler

Eine Website von einem Server auf einen anderen umzuziehen ist nicht einfach, deutlich schwieriger wird das ganze aber nochmal wenn die Website ein Shop ist. Da ich schon einige Magento Shops umgezogen haben, wollte ich meine Vorgehensweise vorstellen und die typischen Probleme bei einem Magento Umzug mit der entsprechenden Lösung auflisten. Bewährte Vorgehensweise Shopsystem auf dem Server zu einer .zip Datei zusammenfassen Die meisten Magento Shops dürften auf Managed-Servern oder Root-Servern laufen. Sowohl auf Root als auch auf Managed Servern sollte man die Möglichkeit haben den Shop zu zippen. Da Magento aus extrem vielen kleinen Dateien besteht, dauert der Transfer der Dateien ohne das zippen unnötig lange. Datenbank mit phpMyAdmin exportieren Beim Export der Datenbank sollte man darauf achten, dass die Option Fremdschlüsselüberprüfung deaktivieren aktiviert ist. Da Magento, wie alle größeren Shop Systeme, in der Datenbankstruktur viele Foreign Keys verwendet, kann es sonst zu Problemen beim Import führen. Am Ende der exportierten Datei wird die Fremdschlüsselüberprüfung von phpMyAdmin automatisch wieder aktiviert. Datenbank und Magento auf den neuen Server hochladen Die Datenbank kann man im komprimierten Zustand auch per FTP Client hochladen. Magento selbst sollte, um Zeit zu sparen, direkt von dem alten Server auf neuen Server übertragen werden werden. Magento entpacken Die Datenbank mit mysqldump oder bigdump einlesen. Datenbank Zugangsdaten ändern Falls sich die Datenbank Zugangsdaten auf dem neuen Server geändert haben, muss man diese in der Datei /app/etc/local.xml auch anpassen. In der Datenbank müssen anschließend noch zwei Werte modifiziert werden. Beide Einträge befinden sich in der Tabelle core_config_data. Der erste Eintrag ist web/unsecure/base_url, welcher die neue URL des Shops bekommen sollte. Der zweite Eintrag ist web/secure/base_url, welcher die...

Drupal SEO Module: Page Title

Der Title einer Seite gehört zu den wichtigsten SEO Onpage Faktoren. Mittlerweile gibt es für fast jedes Content Management System ein Plugin, um den Title der Seite beliebig anzupassen. Natürlich gibt es auch eine Erweiterung für Drupal, um die Titles anzupassen. Mit dem PageTitles Modul kann man die Titles einer Drupal Seite mit zusätzlichen Keywords erweitern. Mithilfe des Moduls kann man für jede Seite einen Unique Title erstellen, auch wenn der Inhalt sich über mehrere Nodes verteilt. Flexibilität für optimale Titles Das PageTitles Modul kann sowohl den Standard Title Aufbau ändern. Durch die enorme Flexibilität des Moduls kann man für jeden Content Typen einen eigenen Standard Title einstellen. Die Standard Titles setzt sich zusammen aus mehr als 50 möglichen Variablen. Auch für die Taxonomy Seiten (zum Beispiel Tag Seiten) kann man in den Einstellungen spezielle Standard Titles angeben. Falls man für einzelne Nodes nicht den Standard Title verwenden will, kann man für jeden Node auch den Standard Title überschreiben. Das geschieht mit einem Feld unterhalb des Content...

Magento Stratus und die Entwicklungen 2011

In den letzten Tagen macht Magento vor allem Schlagzeilen durch das neue Produkt Magento Stratus. Dabei handelt es sich um eine sehr gut Skalierbare Magento Mietlösung. Das bedeutet, dass der Shop von der Firma hinter Magento für einen monatlichen Obulus gehostet und geupdatet wird. Obwohl die Software gehostet wird, soll sie ähnlich flexibel und anpassbar wie eine eigene Installation sein. Die Realität sieht dann aber immer etwas anders aus, als die Ankündigungen der Hersteller. So haben die ersten Tester die Anpassungsfähigkeiten als sehr fehlerbehaftet bezeichnet. Speziell im Vergleich mit den großen Shop-SaaS Anbietern wie Demandware und Venda kann Magento Stratus wohl nicht mithalten, obwohl sich eine eigene Magento Installation hinter den Mietshops keinesfalls verstecken muss. Da ich bisher leider noch keinen Beta Account für Magento Stratus erhalten habe, muss ich mich allerdings derzeit noch auf die Berichte von anderen Beta Testern verlassen. Weitere Informationen zu Magento Stratus gibt es bei Alexander Ringsdorff und Magethemes.com. Magento Entwicklungen in 2011 Die größte Neuerung in 2011 dürfte wohl das Erscheinen der Version 1.5 von Magento sein. Seit Dezember 2010 steht bereits die erste Alpha Version von Magento 1.5 zum Download bereit, welche allerdings noch einige Bugs vorweist. In Magento 1.5 wurden unter anderem folgende Features integriert: Editieren von fertigen Bestellungen Multistep Checkout ohne Javascript konfigurierbarer Order-Status verbesserte Importfunktionalität Zusätzlich wurden noch einige Bugs gefixt. Trotzdem werde ich hier das Gefühl nicht los, dass die Entwickler mit dem 1.* Zweig schon gedanklich abgeschlossen haben und sich bereits voll auf den 2.* Zweig fokusieren. Eine kurze Zusammenfassung mit Bildern über die neue Funktionen findet man auch hier und...

Custom Types bei WordPress

Seit der Veröffentlichung der WordPress Version 1.0 im Januar 2004 hat sich WordPress immer weiter zum CMS entwickelt. Durch die Einführung von Custom Post Types in der Version 3.0 wurde diese Entwicklung fortgeführt. Was sind Custom Post Types? Mit Custom Post Types ist es möglich eigene Post Types anzulegen. Bisher war WordPress auf die Post Types Posts und Pages festgelegt. Seit der Einführung von Custom Post Types kann nun jeder Nutzer beliebig viele weitere Post Types einrichten, um so beispielsweise bestimmte Bereiche der Seite besser abzugrenzen. Denkbar wäre es zum Beispiel eine Datenbank über alle Folgen einer Serie zu machen. Was benötige ich für Custom Post Types? Um Custom Post Types benutzen zu können, benötigt man eigentlich noch nicht einmal ein Extra Modul, da dieses Feature in der Standard Version von WordPress 3.* bereits vollständig integriert is. Damit WordPress weiterhin einfach zu bedienen ist, haben die Entwickler von WordPress allerdings auf ein User Interface für dieses Feature verzichtet. Ein User Interface kann man allerdings mit dem Plugin Custom Post Type UI nachrüsten. Wie richte ich Custom Post Types ein? Wenn man das Custom Post Type UI Plugin installiert hat, gibt es im WordPress Admin ein Menüreiter Custom Post Types. Unter Add New können verschiedene Post Types angelegt werden. Um einen neuen Post Type zu erstellen, sollte man neben den Basic Angaben auch die Advanced Options beachten. In den Advanced Options kann man einige wichtige Einstellungen verändern, wie beispielsweise den Rewrite Slug (sozusagen den Ordner der URL). Mithilfe der Option Show UI kann man den WYSIWYG-Editor von WordPress aktivieren. Die aktivierten Felder bei Supports aktivieren oder deaktivieren die verschiedenen Boxen,...

Drupal 7

Nachdem vor einigen Tagen eine neue WordPress Version erschienen ist, legt Drupal mit dem Release von Drupal 7 nach. Nachdem die letzten Tage schon fleissig die Release Candidates getestet worden sind, sind jetzt alle Bugs beseitigt und Drupal 7 eignet sich theoretisch für den Live Betrieb. Die Praxis schaut leider etwas anders aus, da neue Drupal Versionen auch immer Neuerungen in der API nach sich ziehen und so viele Module erstmal geupdatet werden müssen. Auch wenn die API in Drupal 7 im Vergleich zu früheren Updates nur wenig verändert wurde, so stehen derzeit nur 20% der Drupal 6 Module auch für Drupal 7 zur Verfügung. Neue Features Verbessertes User Interface Wie auch bei WordPress hat sich bei Drupal einiges am User Interface getan. Besonders das Admin Interface soll durch ein neues Administrations Theme, ein Overlay Modul und eine konfigurierbare Shortcut Bar deutlich verbessert worden sein. Ausserdem wurde In-Place Editing für Blöcke und Nodes in Drupal 7 eingebaut. Custom Fields Drupal ist im Vergleich zu anderen Content Management Systemen besonders flexibel durch das CCK und Views Modul. Ein Custom Fields Modul, dem CCK Modul sehr ähnlich, wurde nun als Drupal Core Modul hinzugefügt. Im Vergleich zu CCK kann das neue Modul Felder aber auch zu Taxonomy Terms und Users hinzufügen. Image Handling Das bisher größte Problem von Drupal war meiner Meinung nach die mangelhafte Unterstützung von Bildern. Zwar gibt es mehr als genug Module um Bilder an Nodes anzuhängen oder direkt in Nodes anzuzeigen, aber kein Modul war hier vergleichbar mit der Medien Verwaltung von WordPress. Mit der neuen Version werden einige Image Funktionen in den Core aufgenommen. So ist...

Drupal SEO Module: Pathauto

Es existieren kaum noch Websites welche nicht das mod_rewrite Apache Modul einsetzen, um die URL Struktur der Site zu ändern. Mittlerweile bringen die meisten Content Management Systeme bereits Funktionen mit, um die URLs zu rewriten. Auch Drupal hat eine solche Funktion bereits integriert, welche sich Lesbare URLs nennt. Leider ist die Funktion in Drupal allerdings nur sehr rudimentär integriert. Durch aktivieren der Funktion werden die URLs lediglich auf eine Ordnerstruktur umgestellt. Die URLs sehen dann beispielsweise so aus : xy.com/node/41, xy.com/user/52 und xy.com/taxonomy/term/2. Mit dem Pathauto Modul kann man die URLs nicht nur von den Parametern befreien, sondern auch sprechen lassen. Ein Node der vorher unter xy.com/node/41 erreichbar war, ist anschließend zum Beispiel unter xy.com/blog/drupal-seo-module-pathauto erreichbar. Nach der Installation des Moduls findet man im Administrationsmenü unter Strukturierung den Punkt URL-Aliase. Hier lassen sich für verschiedene Inhaltstypen (Node types) verschiedene URL-Strukturen aufbauen. Hierfür stehen Variablen wie [title] oder [term] zur Verfügung. Durch das flexible Taxonomy Modul kann man so beispielsweise die Menü Struktur der Site auch auf die URL Struktur abbilden. Damit auch Umlaute in den URLs richtig umgesetzt werden, sollte man ausserdem auch noch das Transliteration Modul installieren. Durch die Aktivierung des Moduls werden ä, ö und ü’s zu ae, oe oder ue umgeschrieben. Nach der Aktivierung des Transliteration Moduls muss man hierfür allerdings noch in den Einstellungen von Pathauto die Option Umcodieren, bevor der Alias erstellt wird aktivieren. Mithilfe des Bulk-Modus lassen sich für eine ältere Seite für alle Nodes nachträglich die sprechenden URLs erzeugen. Die alten URLs werden automatisch via 301 Redirect auf die sprechenden URLs weitergeleitet. In den Einstellungen lässt sich auch eine Liste mit Stopwords...

Magento: An error occurred while saving the URL rewrite

Der Fehler entsteht normalerweise, wenn man im Admin Menü unter System -> Index Verwaltung alle Indizes neu aufbauen lässt. Gerade in der Version 1.4.* tritt der Fehler bei zahlreichen Installationen auf. Falls man Magento ohne das Multi-Shop Feature benutzt, sollten folgende Schritte helfen: Cache leeren (/var/cache/ leeren) Sessions löschen (/var/sessions/ leeren) Die .htaccess Datei mit der originalen .htaccess Datei ersetzen Falls alle diese Schritte nicht helfen, kann man noch versuchen die chmod Rechte des media Verzeichnis auf 777 zu setzen. Wir konnten hierbei allerdings keine Wirkung feststellen. Magento Multi-Shops Bei Magento Shops, welche das Multi-Shop Feature nutzen, ist die Sache etwas schwieriger. Hier muss man eventuell am Core arbeiten, auch wenn davon eigentlich absolut abzuraten ist, da bei jedem Update alle Änderungen wieder verschwinden. Allerdings wird hoffentlich im nächsten Update der Bug bereits beseitigt. Normalerweise sollte die Datei app/code/core/Mage/Catalog/Model/Resource/Eav/Mysql4/Url.php ab der Zeile 249 normalerweise so ausschauen: Um den Fehler zu vermeiden, muss man schlicht die Exception auskommentieren. Eine schöne Lösung ist das sicherlich nicht, allerdings ist der Fehler bereits dem Magento Team gemeldet und dürfte damit bald der Vergangenheit...

Warum werden meine Artikel bei Magento nicht angezeigt?

Viele Shop Betreiber mit rudimentären PHP Kenntnissen machen sich selber daran einen Magento Shop einzurichten. Durch den komplexen Aufbau von Magento entstehen dabei immer wieder Probleme. Eines der ersten Probleme ist oft, dass die angelegten Produkte im Shop nicht angezeigt werden. Das kann an verschiedenen Einstellungen liegen, welche wir hier aufzeigen wollen. Produkt deaktiviert Der einfachste Fehler ist eigentlich, dass das Produkt deaktiviert ist. Das Produkt kann in den Produktdetails im Unterpunkt Allgemein im Feld Status aktivieren werden. Sichtbarkeit des Produkts einstellen Das nächste Problem ist in der selben Ansicht zu finden: Die Visibility / Sichtbarkeit des Produkts. Zur Auswahl stehen hier vier Optionen (Katalog & Suche, Suche, Katalog, Einzeln nicht sichtbar). Damit ein einfaches Produkt im Shop sichtbar wird, sollte man hier Katalog & Suche auswählen. Lagerbestand Der Punkt Lagerverwaltung bietet auch einige Stolpersteine. Die Menge  muss größer als 0 sein, damit das Produkt angezeigt wird. Gleich unterhalb der Menge ist eine weitere interessante Option: „Anzahl um Produkt mit Nicht auf Lager zu kennzeichnen“. Der Lagerbestand wird also ab einer bestimmten Menge wieder auf Nicht auf Lager gesetzt, falls man die Magento Lagerverwaltung aktiviert hat. Diese Einstellung kann man auch in den Systemeinstellungen bearbeiten. Zusätzlich muss man – ganz unten – auch die Option Lagerbestand auf „Auf Lager“ umändern. Diese ist Standardmäßig auf „Nicht auf Lager“ gesetzt. Produkte in Kategorien sortieren Damit die Produkte im Shop angezeigt werden, muss man diese in eine Unterkategorie der root-Kategorie einsortieren. Dies wird unter Katalog -> Kategorien verwalten erledigt. Zu beachten ist hierbei, dass neu angelegte Kategorien anfangs nicht aktiviert sind. Damit die Kategorien angezeigt werden, muss man diese daher aktivieren. Websites auswählen Magento unterstützt...

Kurz vorgestellt: Nachnahme in Magento integrieren

Magento fehlen in der Standard Installation viele Features, welche im Europäischen Raum gängig sind. Dazu zählt auch die Bezahlungs per Nachnahme. Durch den modularen Aufbau von Magento ist es aber kein Problem, die Bezahlung per Nachnahme zu ermöglichen. Hierfür gibt von der Firma Phoenix ein Modul namens Cash on Delivery bereitgestellt. Das Modul ermöglicht es auch, dem Kunden eine zusätzliche Gebühr für den Versand per Nachnahme in Rechnung zu...

betterAmazonAPI Beispiele

Nachdem ich heute mein erstes öffentliches WordPress Plugin vorgestellt habe, folgen jetzt ein paar Beispiele was man mit der Displaycode Funktion alles machen kann. Der Vorteil von Displaycode ist vorallem, dass die Anzeige der Produkte jetzt vollständig individuell gestaltet werden kann. Einfache Tabelle Mit diesem HTML-Code können die Produkte in einer sehr einfachen Tabelle angezeigt werden. Wie die Ausgabe dann im einzelnen ausschaut, liegt vorallem auch am verwendeten Theme und dem zugehörigen CSS. Hier ein Beispiel wie es ausschauen könnte: Tabelle mit Beschreibung und Preis Bei diesem HTML-Code wird sowohl eine kurze Beschreibung als auch der Preis des Artikels angezeigt. Wenn man mit der Preis-Variable arbeitet, sollte man allerdings die Cache-Zeit sehr niedrig einstellen, damit man keine rechtlichen Probleme bekommt. In der Ausgabe schaut das dann so aus: Produktbeschreibung ohne Bild Im letzten Beispiel wird nur der Produktname, die Beschreibung und der Preis...

betterAmazonAPI – Amazon Produkte in WordPress anzeigen

Das Amazon Partnerprogramm gehört wohl zu den besten Affiliate Programmen in Deutschland. Es ist daher auch nicht verwunderlich, dass es für die Amazon-API mittlerweile sehr viele Plugins für WordPress gibt. Trotz der großen Auswahl hatte aber jedes Plugin in meinen Augen seine Schwächen. Daher habe ich irgendwann begonnen, das AmazonFeed Plugin zu modifizieren. Anfangs hielten sich die Modifikationen noch in Grenzen und waren eher darauf ausgelegt, dass man AmazonFeed jederzeit auf die aktuellste Version updaten könnte ohne die eigenen Modifikationen zu verlieren. Nach und nach sind die Veränderungen aber immer größer ausgefallen und ich habe mich entschieden, daraus ein eigene Plugin zu machen. Dabei entstand das betterAmazonAPI Plugin. Neue Features Das betterAmazonAPI Plugin basiert in großen Teilen auf dem AmazonFeed Plugin, was man auch im Backend bemerkt. Folgende Features sind bei betterAmazonAPI hinzugefügt worden: Cloaking der Affiliate-URL Tracking der Clicks und Impressions des Artikels Vollständig anpassbares Layout der Amazon Werbung Automatische Optimierung der angezeigten Artikel anhand eines Quality Faktors, welcher anhand der Views und Clicks berechnet wird. Anzeige des Preises des Artikels Auswahl der Produkte Die Produkte von betterAmazonAPI werden wie bisher weiterhin über Tags oder Kategorien ausgewählt. Hinzugekommen ist lediglich eine weitere Option zur Sortierung der Produkte. Beachten muss man allerdings, dass man Optimized nur verwenden kann, falls man die Option „Redirect Amazon URLs“ aktiviert hat. Ohne diese Redirects kann das Plugin nicht die Clicks tracken und kann daher auch nicht Produkte mit besonders hoher Klickrate raussuchen. Da die Produkte natürlich nicht überall die passende Werbung darstellen, nur weil sie auf einer anderen Seite viel geklickt werden, wird der Quality Faktor pro Seite und pro Produkt berechnet. Das...

FCKEditor und Word – Das Copy&Paste Problem

Der FCKEditor ist, ähnlich dem TinyMCE, ein WYSIWYG-Editor für HTML-Formulare. Mittlerweile gibt es für den FCKEditor zwar ein Nachfolge Projekt mit dem Namen CKEditor, allerdings wird der FCKEditor immer noch bei vielen Seiten eingesetzt. Besonders beliebt ist der FCKEditor bei Drupal Seitenbetreibern, da der FCKEditor sehr gute Möglichkeiten der Bildintegration bietet. Durch die WYSIWYG Editoren kann man den Besuchern also nicht nur die Möglichkeit geben ihren Text einfach zu formatieren, sondern kann diesen auch die Möglichkeit bieten Bilder mit wenigen Mausklicks hochzuladen. Obwohl das Bearbeiten und Erstellen von Texten auf Internetseiten also mittlerweile deutlich einfacher ist als früher, schreiben viele ihre Texte doch am liebsten immer noch in Word. Anschließend wird der Text in den WYSIWYG Editor kopiert und siehe da – es schaut alles noch gleich aus. Allerdings wurde außer dem Inhalt und der Formatierung noch jede Menge sinnloser Word Code mitkopiert. So kann sich der Code gerne mal auf das doppelte vom eigentlichen Text aufblähen, was natürlich nicht im Sinne des Seitenbetreibers ist. Daher bietet der FCKEditor hierfür ein geeignetes Gegenmittel, das mit allen Browsern funktioniert. Damit der FCKEditor das kopieren in die Textarea überprüft, müssen folgende Zeilen in die Config eingefügt werden: Anschließend sollte der FCKEditor bei jedem Copy&Paste Vorgang ein Fenster anzeigen, welches den Inhalt der Zwischenablage anzeigt. Hierbei wird allerdings der ganze unnötige Code gekürzt, sodass man am Schluss sauberes HTML...

Performance Optimierung

Performance Optimierung wird immer wichtiger, schließlich sind sich mittlerweile fast alle SEO-Blogs einig, dass die Performance einer Seite ein wichtiges Ranking Kriterium ist. Genauso wie die Hardware Performance stetig gestiegen ist in den letzten Jahren, so sind auch die Performance Ansprüche von Skripten gestiegen. Gerade Performance Monster wie Magento wären auf Pentium 3 Webservern undenkbar gewesen. Doch wie holt man das meiste aus seiner Webseite heraus ohne auf den modularen Luxus von Magento und Drupal zu verzichten? Wenige HTTP Requests Ein einfach umzusetzender Performance Tweak sind die HTTP Requests. Die meisten Browser verarbeiten in den Standard Einstellungen nur 2-5 HTTP Requests gleichzeitig. Also muss der Browser bei 40 Requests diese alle seriell abarbeiten, wodurch das ganze deutlich langsamer wird. Die einfachste Optimierungsmöglichkeit der HTTP Requests sind die Javascripts und Stylesheets. Gerade bei aktuellen Content Management Systemen werden viele Teile der Seite nur noch Modular eingebunden. Das heißt allerdings auch, dass jedes Modul für die Darstellung ein CSS mitbringt und eventuell noch ein oder zwei Javascript Datei(en). Es gibt für viele Systeme mittlerweile Module, welche die Javascript und CSS Dateien vor dem Ausliefern der Seite in eine Datei zusammenfassen. Genau zu solchen Modulen würde ich auch raten, obwohl sie nicht das Optimum aus der Seite herausholen. Auch wenn die (minimale notwendige) Rechenleistung für das Zusammenfassen der Dateien bei den meisten Servern heute keine wirkliche Rolle mehr spielt, ist das manuelle Zusammenfügen von CSS und Javascript Dateien nach wie vor Effizienter, wenn auch umständlicher in der Wartung. Auch Hintergrund Bilder kann man ohne Probleme zusammenfassen. Wenn die Bilder nicht in der Bilder Suche erscheinen sollen, kann man diese mit sogenannten CSS Sprites zusammenfassen...

HTML 5 Überblick

Die letzte HTML Spezifikation ist von 1999, also mittlerweile knapp zehn Jahre her. Auch wenn man das kaum mitkriegt, hat sich seitdem einiges bewegt bei der W3C. Nachdem zwischenzeitlich immer wieder an XHTML gearbeitet wurde, wird jetzt doch noch eine Version 5 von HTML erscheinen. Und die neue Version wird eine Vielzahl von Änderungen enthalten. Die größte Änderung der neuen Version dürfte der Abschied von SGML sein. Dadurch wird zum zweiten Mal ein sehr alter Standard verabschiedet, welcher damals auch mit XHTML beseitigt wurde. Generell kann man sagen, dass HTML5 deutlich näher am Nutzer entwickelt worden ist, als irgendeine HTML/XHTML Version davor. Den Dokumententyp beispielsweise kann man in Zukunft mit einem simplen <!dopytype html> angeben. Bisher sind hier Mammutzeilen wie diese keine Seltenheit: Bei vielen Änderungen kommt es einem so vor, als würde die W3C einfach die aktuellen Seiten als valide erklären. So wird beispielsweise das Verlinken von Blockelementen, was man heute schon sehr oft sieht, nun nachträglich als valide erklärt. Das dürfte auch eine Folge davon sein, dass die Browserhersteller diesmal deutlich besser in den Prozess eingebunden worden sind, als in die neuen Versionen zuvor. Die Browserhersteller müssen diesmal also nicht 2 Standards, den Standard und den quasi-Standard der im Web verwendet wird, unterstützten, sondern der Standard wird dem quasi-Standard einfach angepasst. Ein weitere große Änderung ist die native Unterstützung von Audio und Videodateien. Ist Audio und Video Material bisher ausschließlich mit Flash oder Silverlight anzusehen, so sieht der neue Standard vor, dass die Browser dass auch nativ beherschen. Die Idee ist sicherlich gut, scheitert aber vermutlich an den Codecs. Leider wurde bei HTML 5 bisher kein Codec vorgeschrieben und daher wird das ganze vermutlich...

Die Hassliebe zwischen Magento und Afterbuy

Afterbuy dürfte vor allem durch die sehr gute eBay Integration zu Kunden gekommen sein. Diese Kunden haben anschließend auch ihren Online Shop an Afterbuy angeschlossen. Auch dürfte die perfekte Integration in XT:Commerce viele dazu bewegt haben sich dort anzumelden. Dass diese Afterbuy Nutzer bei der Umstellung ihres Online Shop Systems nicht mehr von Afterbuy wegzukriegen sind, klingt auch durchaus verständlich. Die Kunden sind schließlich bereits an die Features und Eigenheiten von Afterbuy gewöhnt. Leider hat das aber durchaus eine problematische Seite, wenn man das ganze in Zusammenhang mit Magento sieht. Magento ist ein sehr modularer Shop, den man in jegliche Richtung erweitern kann. Leider ist er aber durch die vielen Funktionen und die hohe Erweiterbarkeit deutlich komplexer als die anderen eCommerce Systeme, wie beispielsweise XT:Commerce. Dadurch wird er zwar einerseits deutlich flexibler, anderseits wird es auch deutlich komplexer diese Flexibilität auszunutzen. In Zusammenhang mit Afterbuy sieht man hierbei erste schwächen des Shopsystems. Der Shop kommt ursprünglich aus Amerika und dort ist Afterbuy, soweit ich weiß, nicht vertreten. Dadurch ist die Integration von Afterbuy an den deutschen Entwicklern hängen geblieben, was diese mit mäßigem Erfolg erledigt haben. Es gibt bislang, soweit ich weiß, zwei Möglichkeiten einer Afterbuy Integration in Magento. Einmal wäre hier das Modul von Mickser zu nennen und das Afterbuy Modul von Rico Neitzel. Ich habe mit beiden Modulen meine Erfahrung gemacht und musste feststellen, dass leider auch nicht jedes gekaufte Modul seine Funktion voll erfüllt. Trotzdem rate ich im Zweifelsfall auf jeden Fall zu dem Modul von Rico Neitzel, das deutlich stabiler arbeitet. Aber auch wenn das Modul von Rico Neitzel gut arbeitet, so sind hier leider auch noch...

.htaccess RewriteRule mit Umlauten

Ein Webseiten-Umzug vom einem Server auf den anderen ist immer ein heikles Unterfangen, vor allem wenn die Server unterschiedliche Standard Character Encodings verwenden. Da kann es durchaus passieren, dass die htaccess 301’er danach nicht mehr funktionieren, speziell wenn Umlaute dabei verwendet werden. In meinem direkten Fall wurde beim Umzug gleichzeitig von ä/ö/ü Urls auf ae/oe/ue Urls umgestellt. Also wurde logischerweise ein 301-Redirect auf die neuen URL’s gesetzt. Auf dem Testserver (UTF-8) kam dabei folgende Regel zum Einsatz: Leider sah das ganze auf dem neuen Server deutlich anders aus. Hier funktionierten die alten RewriteRules nicht mehr. Nach ein paar Veränderungen hat das ganze aber wieder hingehauen. Hier die neue Rule:...

Magento für den deutschen Markt Rechtssicher machen

Wie so oft hat Deutschland im Ecommerce sehr spezielle Gesetze. Speziell durch das deutsche Abmahnrecht muss man als Shopbetreiber sehr aufmerksam sein, dass alle Gesetze ordnungsgemäß umgesetzt werden. Leider ist das mit vielen Shopsystemen aus Amerika nicht immer so ganz einfach. Daher haben sich die heimischen Anbieter von Shoplösungen auch ein quasi Monopol aufgebaut. Auf der rechtlich sicheren Seite war man teilweise nur mit Lösungen von deutschen Softwareanbietern. Magento ist derzeit dabei den E-Commerce Markt von hinten aufzurollen, allerdings ist das speziell in Deutschland mit einigen Problemen behaftet. Das ganze könnte sich aber jetzt ändern, da für den deutschen Markt eine deutsche Erweiterung programmiert worden ist, die angeblich alle Abmahngefahren beseitigen soll. Die Erweiterung Market Ready Germany by symmetrics & Trusted Shops soll alle Probleme beseitigen. Ich persönlich hab die Erweiterungen noch nicht installiert, da ich die von mir betreuten Shops mittlerweile so sehr modifiziert habe, dass diese abmahnsicher sind. Ich muss also meine Erweiterungen erstmal mit dem Modul zusammen testen und dementsprechend wieder zurückbauen. Hier noch eine kleine Übersicht über die Funktionen des Moduls: Anpassung der Informationsseiten für die Anbieterkennzeichnung (Impressum), der Datenschutzerklärung, sowie der Widerrufsbelehrung und der AGB Standardkonfiguration für den deutschen Markt (insbesondere Datumsformate, MwSt.-Sätze) Einbindung aussagekräftiger und leicht auffindbarer Verweise auf Informationsseiten Zentrale Verwaltung aller Stammdaten im Impressums-Modul Verlinkung der Preisbestandteile und zusätzlich anfallender Kosten (einschließlich 19 Prozent Umsatzsteuer zuzüglich Versandkosten) an notwendigen Stellen Optimierung der Auftragsabwicklung (Angabe von Lieferzeit und Versandgewicht, Anzeige des Lagerbestands durch Ampel-Funktion) Anpassung der Informationen im Bestellprozess und zur Rechnungsstellung Verbesserung der Shop-Performance (Caching, Templates, automatische Bildoptimierung) Entfernung abmahnungsgefährdeter Formulierungen aus Shop- und E-Mail-Templates Integration des aktuellen German Language Packs mit...

Magento Startseite gestalten

Die Startseite von Magento anzupassen ist gar nicht so einfach. Man findet einfach kein Template, dass die Startseite wiedergibt. Das könnte daran liegen, dass die Startseite eine einfache CMS Page von Magento ist. Klingt vielleicht etwas seltsam, denn wie soll man den so vernünftig das Look&Feel der Startseite verändern. Durch das Template & Block System kann man sogar in CMS Seiten Blöcke einbinden. Man kann also sowohl die Bestseller Produkte einblenden, als auch eine eigene Kategorie für die Startseite anlegen und diese anzeigen lassen. Beispielsweise kann man sich mit diesem Snippet: Die Kategorie mit der ID 2 anzeigen lassen. Man kann natürlich ebenso andere Blöcke einbinden, z.B. einen mit den aktuellen Bestsellern (gibt es Module dafür) oder sogar selbst einen Block schreiben. Bewährt hat es sich, dass man eine Kategorie erstellt mit Produkten die auf die Startseite sollen und diese deaktiviert. Dadurch wird sie im normalen Menü nicht angezeigt und man kann trotzdem die Produkte manuell per Hand auf die Startseite...