OXID commons 2012

Kurz entschlossen sind wir vergangenen Donnerstag zur OXID commons 2012 gefahren. Vorangegangen war die Entscheidung, Magento den Rücken zu kehren und zu OXID zu wechseln.

OXID commons ist sowas wie ein Hybrid aus Konferenz und Messe. Diverse Dienstleister aus dem OXID-Umfeld hatten sich in der Rothaus-Arena eingefunden und stellten auch den Großteil der Speaker. Mitunter hatte man daher schon das Gefühl, dass während der Sessions oben rechts eigentlich ein Schild mit ‘Dauerwerbesendung’ hängen müsste.

So aus der Sicht anderer Konferenzen, die ich bisher besucht habe, hat das ganze auch etwas von omnipräsentem Buzzwordbingo und Schlipsträgerveranstaltung, etwa beim ‘rituellen’ Visitenkartentausch.
Insgesamt haben wir aber sehr viel mitgenommen, nicht nur gute Kontakte zu Dienstleistern. Ein paar Verbesserungsvorschläge hätte ich dennoch:

  • Geskriptete ‘Podiumsdiskussionen’ haben was von ‘Scripted Reality’. Geht gar nicht.
  • In eine einzelne Session von einer Stunde drei oder vier Speaker reinzuquetschen ist einfach zu viel. Mehr als allgemeine Informationen kommen dabei leider nicht rüber. Vielleicht sollte man sich überlegen, Workshops am Vortag anzubieten, damit man da mehr in die Tiefe gehen kann.
  • Die Pausen hätten etwas länger sein können, damit man mehr Zeit hat, sich mit den Dienstleistern zu unterhalten.

Vielleicht fällt der ein oder andere Punkt weg, wenn wir dann nächstes Jahr auch an der Unconference teilnehmen, die wir dieses Mal aus Gründen ausfallen lassen mussten. Am meisten Spaß gemacht hat mir nämlich die Session, bei der es um Erweiterungen aus der Community ging (u.a. GoodRelations und der Admin 2.0).

Die Videoaufzeichnungen des Konferenzteils kann man übrigens hier ansehen und den Vortrag von Martin Hepp zu GoodRelations gibt es außerdem hier.

Telefon als Pflichtfeld in Magento – the ultimate solution

Es sind die kleinen Dinge, die nerven. Und davon hat Magento reichlich.

Man sollte meinen, dass es bei einem derart hochgezüchteten Shopsystem mit einem Klick getan ist, ein Feld im Checkout nicht zum Pflichtfeld zu machen. Im konkreten Fall die Telefonnummer, die aus unerfindlichen Gründen in so ziemlich jedem Shopsystem ein Pflichtfeld ist.

Der erste Blogpost dazu gibt Hoffnung. Aber so einfach ist es nicht. Also halt so gar nicht. Diese Änderung in der Datenbank ist mehr oder weniger nutzlos.
In den Templates wird nämlich gar nicht erst darauf geprüft, welches Feld ein Pflichtfeld ist. Man muss also an allen möglichen Stellen händisch alles entfernen, was auf ein Pflichtfeld hindeutet. Und neben den hier genannten Templatedateien kommt, zumindest in 1.6, auch noch /template/persistent/checkout/onepage/billing.phtml dazu.
Außerdem muss man noch die Mage_Customer_Model_Address_Abstract anpassen, auch hier folgt man am besten der Anleitung hier.

Fertig. Fertig!? Guter Witz, Rechnung ohne Magento gemacht!
Wenn man sich auf der Suche nach dem Fehler weiter durch den Magento-Core hackt trifft man früher oder später auf /app/code/core/Mage/Eav/Model/Attribute/Data/Text.php. Und hier liefert $attribute->getIsRequired() weiterhin treudoof true zurück, als ob man die Datenbankänderung nie gemacht hätte. Ein Blick in selbige führt aber zu der Erkenntnis, dass dort alles stimmt. Alle Caches leeren bringt exakt gar nichts. Erst das ausführen des folgenden Codeschnipsels:

$telephone = Mage::getModel('eav/entity_attribute')
           ->loadByCode('customer_address', 'telephone')
           ->setIsRequired(false)
           ->save();

überzeugt Magento endlich davon, dass die Telefonnummer im Checkout kein Pflichtfeld mehr ist. Herzlicher Dank auch an die Magento-Entwickler, man verbrät doch immer mal wieder gern ne Stunde für so einen Scheiß!