die musterdenker

OXID eShop trifft CMS

Tags: , , , ,

Gerade finde ich in meinem Postfach eine Mail die mich informiert das top concepts ihre Integration vom OXID eShop in das hauseigene CMS abgeschlossen ist. Für mich anlass genug ein bisschen etwas über das Thema OXID und CMS zu schreiben.

OXID CMS – Status quo:

  • Der eShopbesitzt CMS Seiten die an beliebiger Stelle eingebunden werden können: als Link oder im Kategoriebaum
  • Jede CMS Seite besteht aus einem großen Textblock der per WYSIWYG Editor befüllt wird, einen Titel und außerdem kann die SEO-Url angepasst werden.
  • Natürlich unterstützen die CMS Seiten genauso wie der Rest des eShops beliebig viele Sprachen

Mit dieser Basisausstattung kommt man, wie ich aus eigener Erfahrung weiss recht weit. So gibt es sogar “nicht”-Shops die mit mit eShop umgesetzt wurden und den Shop als CMS nutzen (z.b. Anzido Akademie). Dennoch stößt man natürlich bei sehr inhaltslastigen Angeboten schnell an die Grenzen. So z.B.:

OXID CMS – das fehlt…

  • CMS Seiten sind nicht durchsuchbar
  • alle CMS Seiten haben das gleiche Template
  • CMS Seite können nicht beliebig verschachtelt werden (so wie z.B. Artikel in Kategorien)
  • das Rechte & Rollen System der EE (OXID eShop Enterprise) greift nicht auf einzelnen CMS Bereiche / CMS Seiten
  • es gibt nur eine Textbox pro Seite

top concepts CMS

Schon seit dem 4er Release gab es immer mal wieder Bemühungen diesem Problem Abhilfe zu schaffen und jetzt scheint eine weitere Lösung fertig zu sein. Was top concepts in ihrem Blog schreiben klingt vielversprechend. So wurde der eShop in das bestehende CMS eingebunden wobei das CMS der Master ist und jede benötigte eShop Funktionalität einzeln lädt/aufruft. Da das CMS eine SaaS Lösung ist kann man den Code leider nicht begutachten, muss sich als Nutzer bzw. Reseller aber auch keine Gedanken darüber machen ;) gut zu hören ist das der Shop weiterhin getrennt vom CMS läuft und auch voll updatefähig bleibt. Auch wenn ich das top concepts CMS nicht bis ins Detail kenne scheint es mir ein erwachsener Vertreter seiner Zunft zu sein. Um als externen Entwickler / Agentur in den Genuss dieser CMS eShop Kombi zu kommen wird es ein Resellerprogramm geben. Ich bin schon jetzt sehr gespannt darauf.

TOXID

Doch top concepts sind nicht allein. Ein weiterer Ansatz an dem auch schon lange gearbeitet wird scheint sich auch der Fertigstellung zu nähern:
“TOXID” Was sich giftig anhört ist das Projekt von Joscha Krug (aka. Marmalade.de) mit dem Ziel Typo3 mit dem OXID eShop zu verheiraten. In dem letzten Blogpost zu dem Thema hört es sich so an als ob die Fertigstellung in nicht all zu weiter Ferne liegt. Anders als bim voherigen Beispiel soll hier der OXID Shop der Master sein und Typo3 dem Shop also seine CMS Features zur Verfügung stellt. Vergleicht man den Umfang beider Programme so scheint es als ob David hier über Goliath befiehlt. Mir gefällt dieser Ansatz jedoch sehr gut, denn bei einem eCommerce Projekt sollte der eShop im Vordergrund stehen. Auch soll es vielleicht eine Open Source Version geben, was angesichts der Tatsache das Typo3 wie auch OXID Open Source sind natürlich wunderbar wäre. Leider gibt es noch keinenkonkreten Veröffentlichungstermin. Aber ich schließe mich dem Kommentar von “TypoTom” auf o.g. Blogbeitrag an und biete gerne meine Hilfe an sofern es sich um ein Open Source Projekt handelt.

Fatchip OXID CMD Modul

Neben diesen beiden “Verschmelzungen” gibt es auch noch eine eigenständige Extension zum OXID eShop welche die bestehenden CMS Funktionen aufbohren soll. Das von Fatchip angebotenen Modul. Leider ist die Beschreibung recht mager aber es scheint so als ob viele von meinen oben aufgeführten Problemen gelöst werden. Es gibt eine Rechteverwaltung, seperates Tempaltes und ein dynamisches Menü (was genau das auch immer ist). Ich werde mal schauen ob ich eine Version bekommen kann um sie ausführlich zu testen und dann hier an dieser Stelle mehr Details zu berichten.

DIY – Do it yourself

Zu guterletzt kann man auch selbst Hand an legen und mit ein paar einfachen Tricks das bordeigene CMS aufbohren. So kann man auch Artikel und Kategorien als CMS Seiten nutzen. Beiden kann man eigene Tempaltes zuweisen und beide besitzen ein WYSIWYG Textfeld. Damit haben wir dann die Möglichkeit CMS Seiten beliebig zu verschachteln (mit Hilfe der Kategorien) und können für jede CMS Seite eigene Templates vergeben (mit Hilfe des Template Feldes für Artikel und Kategorien). Auch werden dies CMS “Artikel” ohne weiteres durch die Suche gefunden. Ein bisschen sollte man den eShop jedoch durch eine Extension anpassen um z.B.

  • zu verhindern das diese “Artikel” gekauft werden können
  • die CMS Artikel in der Suche gesondert dar zu stellen
  • ein gesonderte Darstellung im Admin um die Pflege zu erleichtern

Also auch hier kann man viel Zeit investieren, aber wem die bestehenden Lösungen nicht gefallen hat hiermit einen guten Ansatz es selbst zu machen.

Ich hoffe ich konnte den ein oder anderen Einblick hinterlassen und wer noch weitere OXID – CMS kennt möge doch bitte einen Kommentar hinterlassen.

OXID eShop – enable lazy loading for categories

Tags: , , ,

The OXID eShop has a really cool lazy loading mechanism implemented in oxBase class. Its mainly used to save memory and avoid overloaded objects. Usually this is not needed for “small” classes like e.g. oxvendor oxcategory. Thats why it is deactivated per default in oxBase class:

$_blUseLazyLoading = false;

But sometimes it makes sense to activate lazy loading. One example are the categories. When a category list (oxCategoryList) is loaded somewhere in the shop only a selection of data fields are loaded into the single oxcategorxy object. This can cause some porblems if u want to access own fields or e.g. the oxthumb of the category within a category list.

In practice I wanted to show the thumb picture in a category list but I could not access the field, cause it was not loaded per default.

One solution would be to extend the field list in the “_getSelectString” method of oxcategory list. But a much simplier and more elegant solution is to activate lazy loading for the categories. Thereby it will be possible to access all fields of oxcategory!

There is s slight disadvantage of this solution: Every (first) access to a not loaded field of each object will fire a SQL query. Accessing a huge amount of not loaded fields on a long category list could thereby kill the performance of your shop …

I attached a small module activating lazy loading. Just put the file to your modules folder and add a line in admin module entries like this:
“oxcategory => mude_lazyloading” for each class you want to activate lazy loading.

Download here

Have fun and pleas give me feedback …

EDIT: It’s always the same, on first version there is always a bug ;) The first version only works without caching. The new Version 0.2  has one more line:

“self::$_blDisableFieldCaching[get_class($this)] = true;” to disable field caching for our class in order to make lazy loading work also with caching.

Update Avatar Modul für OXID eShop

Tags: , , ,

Das Modul “mude_avatar” ist jetzt in Version 0.9 verfügbar.

Das Modul versieht alle Userkommentare zu Lieblingslisten und Produkten mit einem User Avatarbild das der Nutzer in dem “mein Konto” Bereich hochladen kann.

Für die Bugfixes bedanke ich mich bei: Hano und Henry von http://conceptmarketing.de/ :)

Eingesetzt wird das Module bei http://www.hairpoint.de z.B. hier (http://www.hairpoint.de/Haar/Haarpflege/Frisiermittel/Haarpomade/Hairgum-Pomade-Vanille-100g.html)

Download und weiter Infos hier im Blog, bei google code und im OXID eXchange.

OXID eShop module for developers

Tags: , , ,

I just wrote a small module for OXID eShop that automatically deletes the “tmp/” folder at the beginning of each call. The module does nothing when shop is in productive mode.

Background: The OXID eShop does its smarty and its object caching in the folder “tmp/”. Even when productive mode ist off some caching mechanism still work which sometimes causes funny behaviour during development: “Why can’t I see a change, I just changed the whole function/database/template …” In the past you had to delete all files from”tmp/” manually, now you have this small module doing the work :)

Of course this module is open Source (GPL V3) and can be downloaded directly here(mude_dev) or you can have a look at OXID exchange and don’t forget to vote for us ;)

Modul Avatarbilder für OXID eShop

Tags: , , , , , ,

Das Modul Avatarbilder für OXID eShop (mude_avatar) ist heute soweit fertig das wir es hier und bei google code veröffentlichen. Das Modul ist Open Source (GPL V3) und erweitert den OXID eShop (> 4.0.1.0) um Nutzerbilder neben den Kommentaren/Lieblingslisten. Jeder angemeldete Nutzer kann sein eigenes Avatarbild hochladen oder seinen Gravatar Account nutzen. Alles weitere auf der Projektseite.

Avatar Bilder Modul für OXID eShop

Tags: , , , , ,

Beschreibung:

Das Avatarbilder Modul (mude_avatar) ist ein Modul für den OXID eShop ab Version 4.0.1.0. Das Modul erweitert die bereits vorhandenen Communityfeatures wie Kommentare/Bewertung von Artikel und die Lieblingslisten (sowei deren Kommentare) um Nutzeravatare. Das bedeutet das jeder angemeldet Nutzer des eShops in seinem Nutzerkonto ein Avatarbild festlegen kann awelches von da an neben seinem Namen angezeigt wird wenn er Artikel oder Lieblingslisten kommentiert. Dieses aus Foren schon seit langem bekannte Feature macht die Kommentare persönlicher und damit glaubwürdiger, ausserdem steigert sich die Interaktivität. Der Shopnutzer kann entscheiden ob er eine Datei hochladen möchte oder ob er sein bei Gravatar hinterlegtes Bild nutzen möchte. Wenn der Nutzer kein Avatar auswählt wird ein Standardbild angezeigt.

Lizenz:

Genau wie die Community Edtion ist das mude_avatar Modul Open Source unter der GPL V3 Lizenz, kann also nach belieben verteilt und modifiziert werden. Jedoch stellen wir gerne weiterhin diese Seite für den Download zur Verfügung. Wenn Ihr also Fehler beseitigt oder neue Features einbaut schickt uns die neutste Version und wir verbreiten sie hier. Alternativ gibt es auch eine Seite bei google code.

Screenshoots:

Mit den Standarttemplates des OXID CE 4.0.1.0

Installation:

Detaillierte Anweisungen finden sich in der readme.txt im Modulverzeichniss.

Ausblicke:

  • veröffentlichen der Unittests
  • auch Gästebuch mit Avataren
  • soweit nötig: Performanceverbesserungen

Download: mude_avatar_0_9

Geschenkgutschein jenseits von Wert- und Rabattgutschein

Tags: , , , , , ,

Heute mal ein Post in eigener Sache und auf Deutsch.
Wie wir schon auf dem Projektblog von deineschokoladen.com (http://blog.deineschokoladen.com) berichteten gibt es bei www.deineschokoladen.com seit kurzem Geschenkgutscheine. Das alleine wäre sicher keinen Blogeintrag ausserhalb des Firmenblogs wert, aber es gibt etwas besonderes daran. Es handelt sich nämlich nicht um gewöhnliche Gutscheine mit einem Wert von X Euro, oder X Euro ab Y Euro Umsatz oder ZZ% Rabatt. Dieser Typ Gutschein gehört wohl in jedem Shopsystem zum Standart und war auch bei deineschokoladen.com von der ersten Minute an implementiert. Vorwiegend haben wir diesen Typ Gutschein dazu verwendet um Rabattaktionen zu gestalten oder einzelnen Usern eine Schokolade zu schenken. Als sich die Anfragen nach einem Gutschein zum Verschenken jedoch gemehrt haben, hatten wir kurzeitig überlegt den Wertgutschein als Produkt anzubieten so das der Kunde einen Gutschein über X Euro bestellen kann. Auch das ist gängige Praxis, gefiel uns jedoch nicht besonders. So ein Wertgutschein ist zu sehr fixiert den Geldwert. Ein Geschenk auf dem der Preis noch geschrieben steht und bei dem man beim Einlösen genau auf den Cent achten muss (falls der Wert etwas zu gering war) oder man das schlechte Gefühl hat Geld zu verschwenden (falls der Wert zu hoch war) schien uns nicht das richtige zu sein. Also musste etwas anderes her:

Der “deineschokoladen Geschenkgutschein”.

Das Prinzip ist so simple wie praktisch: Der Schenkende kauft den Geschenkgutschein in Form eines Codes (oder Papierkarte) welcher den Gegenwert “1 Schokolade inklusive Versand” hat. Dabei ist es egal mit welchen Zutaten die Schokolade bestreut ist, also welchen Preis sie normalerweise hätte. Der Beschenkte trägt beim Betreten der Seite über eine spezielle Landingpage (www.deineschokoladen.com/geschenkt) seinen Gutscheincode ein und kann sich im folgenden seine Lieblingsschokolade kerieren und bestellen. Auf der gesamten Seite werden dabei alle Preisangaben ausgeblendet. Der Beschenkte sieht also wieder auf dem Gutschein, noch beim einlösen den Preis für sein Geschenk. Da die Idee und der Gedanke bei einem Geschenk viel mehr zählen als der schnöde Mammon ist diese Art des schenkens für alle beteiligten ein Schritt nach vorne. Wir werden sehen wie sich das Geschäft mit dieser Art Gutschein entwickelt, wegen der erwarteten guten Aktzeptanz haben wir schon erste Schritte unternommen entsprechende Erweiterungen für Shopsysteme ala OXID eShop und Magento an zu bieten um das Konzept auch in klassischen Shops zu ermöglichen. Bei Interesse über eine Partnerschaft für eine Refernzimplementierung bitte ein Mail an mich.

Den “Gutscheinmodus” kann man auch ausprobieren indem man den Code “demo_code” hier eingibt.

tiny_mce for OXID eShop

Tags: , , ,

Using the new open source CE version of OXID eShop I realised that there is no nice WYSIWYG shipped with it. So I had a look into code and wrote a simple module that makes the admin area use tiny_mce.

Of course this module is GPL and not yet finished :)

Known restrictions:
- by now only article long text, category long text and CMS use tiny_mce
- not all features of tiny_mce tested
- tiny_mce is not able to deal with smarty tags afaik …

So please feel free to extend, enhance and modify it …

V0.1 download

EDIT:
So first bug has been found: IE 7 ( and others) didn’t work, so here version 0.1.1(iny_mce_for_eshop-v0_1_11)  with IE7 fix
The reason and the solution I found here

UPDATE: download oxid_tiny_mce V0.2 Version 0.2

UPDATE: neue Version für Shop > 4.1.5 gibts hier.

© 2009 die musterdenker. All Rights Reserved.

This blog is powered by Wordpress and Magatheme by Bryan Helmig.