Newsletter-Abonnenten aus TYPOlight exportieren

Screenshot: Buttons für CSV-Import und CSV-Export im Newsletter-Verteiler

Kaum zu glauben: Mit TYPOlight kann man zwar sehr bequem E-Mail-Adressen in einen Newsletter-Verteiler importieren – der umgekehrte Weg des Exportierens ist dagegen nicht vorgesehen. Wie löst man dieses Problem, wenn man nicht die Datenbank direkt anzapfen will?

Der erste Schritt besteht darin, dass man die Extension newsletter_export installiert. Damit steht innerhalb des Newsletter-Verteilers neben dem Button “CSV-Import” neu auch der Button “CSV-Export” zur Verfügung. Klickt man nun diesen Button an, so wird eine CSV-Datei exportiert, deren Inhalt folgendermassen aussieht:

martha.muster@test.com,"1"
peter.mayer@best.com,"0"
usw.

Die Ziffer 1 bzw. 0 am Ende sagt aus, ob die Adresse per Double-Opt-in aktiviert wurde oder nicht. Falls diese Information nicht mehr benötigt wird und deshalb eliminiert werden soll, kann man dies in Excel sehr leicht mit der folgenden Formel erreichen (wobei A1 stellvertretend für die Tabellenzelle steht, in der sich der zu bearbeitende Text befindet):

=LINKS(A1;LÄNGE(A1)-4)

Die Formel bewirkt, dass die letzten vier Zeichen eliminiert werden, und damit erhält man die reinen E-Mail-Adressen.

TYPOlight webShop Quickstart Guide

Der TYPOlight webShop ist eine vielversprechende Shop-Extension für das TYPOlight CMS, aber die schon längst versprochene Dokumentation lässt weiterhin auf sich warten. Dieser Artikel zeigt deshalb in knapper Form die wichtigsten Schritte zum eigenen Shop – Kenntnisse im Umgang mit TYPOlight werden dabei vorausgesetzt.

Installation

Die Installation der Extension unterscheidet sich nicht von der Installation anderer Extensions. Die Community Edition ist über “System > Erweiterungskatalog” im TYPOlight Backend installierbar, kann aber auch manuell installiert werden wie hier beschrieben. Die Business Edition (bzw. die Developer Edition für Agenturen) wird ausschliesslich manuell installiert.

Seitenstruktur

Bevor Sie irgend etwas in den Backend-Sektionen “webShop Verwaltung” oder “webShop Konfiguration” tun, sollten Sie unbedingt die folgende minimale Seitenstruktur für den Shop anlegen:

  • Kategorienliste
  • Artikelliste
  • Artikeldetails
  • Warenkorb
  • Zahlung & Versand
  • Bestellungsübersicht
  • Bestellung abgeschlossen
  • Login
  • Meine Daten
  • Meine Adressen
  • Meine Bestellungen
  • Logout

Machen Sie sich nicht zu viele Gedanken über Bezeichnung, Reihenfolge und Hierarchie der Seiten – diese können später noch geändert werden. Entscheidend ist, dass die Seiten existieren, bevor Sie die weiteren Konfigurationseinstellungen vornehmen.

Allgemeine Einstellungen & E-Mail Einstellungen

image

Im Bereich “webShop Konfiguration” gibt es die beiden Menüpunkte “Allg. Einstellungen” und “E-Mail Einstellungen”. Füllen Sie die beiden Formulare soweit nötig und möglich aus. Die E-Mail-Einstellungen sind deshalb besonders wichtig, weil Sie nur bei korrekten Eingaben über Bestellungseingänge informiert werden.

Kategorien anlegen

imageLegen Sie nun unter “webShop Verwaltung > Kategorien & Artikel” zumindest 1 Kategorie an. Diese Kategorie bildet die Wurzel des zukünftigen Kategorienbaums. Wenn Sie die Gelegenheit nutzen und gleich weitere Kategorien erfassen wollen, dann müssen Sie diese als Unterkategorien der ersten Kategorie definieren.

Mitgliedergruppen anlegen

Der webShop unterscheidet zwischen Privat- und Geschäftskunden (Privatkunden werden Bruttopreise inkl. MwSt. angezeigt, Geschäftskunden dagegen Nettopreise exkl. MwSt.). Sinnvollerweise legen Sie bereits zum jetzigen Zeitpunkt je eine Mitgliedergruppe für die beiden Kundentypen an.

Module definieren

Unter “Layout > Module” müssen die folgenden Module definiert werden. Wenn Sie die hier vorgeschlagenen Modultitel übernehmen, dann ist es anschliessend ein Leichtes, jedes Modul in die richtige Seite einzubauen.

Modultitel Modultyp Weiterleitungsseite
Modulkategorie “webShop”
Kategorienliste Navigation Artikelliste
Artikelliste Artikelliste Artikeldetails
Artikeldetails webShop_articleDetails Warenkorb
Empfehlungen Empfehlungen (keine)
Meine Adressen Mitglieder Adressbuch Meine Bestellungen
Warenkorb Warenkorb Zahlung & Versand
Zahlung & Versand Bestellung aufgeben Bestellübersicht
Bestellungsübersicht Bestellübersicht Bestellung abgeschlossen
Bestellung abgeschlossen Bestellung abgeschlossen (keine)
Mini-Warenkorb Mini-Warenkorb Warenkorb
Modulkategorie “Benutzer”
Login Login-Formular Warenkorb
Logout Automatischer Logout Login
Meine Daten Persönliche Daten Meine Daten
Registrierung Registrierung Login

Bei einzelnen Modultypen gibt es nebst der Weiterleitungsseite auch noch eine “Jump-to”-Seite. Hier wird je nach dem die Verzweigung auf die Login-Seite, die Adressen o.ä. definiert.

Module integrieren

Nachdem Sie alle Module definiert haben, wechseln Sie zu “Inhalte > Artikel”. Legen Sie in jeder Seite einen Artikel an, fügen Sie diesem ein Element vom Typ “Modul” hinzu und wählen Sie aus den vorher definierten Modulen das passende aus. In der Regel wird Ihnen die Zuordnung leicht fallen, nur folgende Fälle sind vielleicht nicht ganz selbsterklärend:

  • Die Seite “Bestellung abgeschlossen” enthält kein Modul, sondern nur einen Text, der die Bestellung bestätigt und verdankt.
  • Die Seite “Login” enthält nebst dem gleichnamigen Modul auch noch das Modul “Registrierung”, da Sie normalerweise neuen Kunden die Möglichkeit bieten möchten, sich selbst zu registrieren.
  • Die Seite “Artikeldetails” enthält nebst dem gleichnamigen Modul auch noch das Modul “Empfehlungen”.
  • Das Modul “Mini-Warenkorb” fügen Sie jeweils in die drei Seiten “Kategorienliste”, “Artikelliste” und “Artikeldetails” ein, idealerweise in der Randspalte.

Konfiguration: Steuern

image Legen Sie nun mindestens 1 Steuerzone an. Eine Steuerzone besteht aus einem oder mehr Ländern, in denen derselben Steuersatz gilt.

Legen Sie dann mindestens 1 Steuerklasse an. Eine Steuerklasse ist lediglich eine frei wählbare Bezeichnung für eine Steuer; im Normalfall werden Sie hier “MwSt.” eintragen.

Zuletzt legen Sie mindestens 1 Steuersatz an. Ein Steuersatz ist ein Wert in Prozent, der für eine bestimmte Steuerklasse in einer bestimmten Steuerzone gilt.

Konfiguration: Versand

image Legen Sie nun mindestens 1 Versandzone an. Eine Versandzone besteht aus einem oder mehr Ländern, für welche dieselben Versandkosten anfallen.

Legen Sie nun mindestens 1 Versandoption (manchmal auch als Versandart bezeichnet) an. Eine Versandoption kombiniert Versandkosten und allfällige Steuern und kann einer oder mehreren Versandzonen zugewiesen werden. Falls Ihnen die Details im Moment noch zu kompliziert erscheinen, legen Sie die Versandoption “Kostenloser Versand per Paketpost” an, wählen bei der Versandkostenberechnung die Option “Keine Berechnung – nur Informationstext” und weisen sämtliche Versandzonen zu.

Konfiguration: Zahlung

image Legen Sie nun mindestens 1 Zahlungsart an. Für den Anfang reicht die Zahlungsart “Rechnung”, welche besonders einfach zu konfigurieren ist und zudem ausschliesst, dass man während des Testens versehentlich eine Online-Zahlung auslöst. Für die Konfiguration wählen Sie lediglich unter “Zahlungsmodul” den Eintrag “Textmeldung” aus.

Nicht viel komplizierter ist auch die Zahlung über PayPal, da man für eine Zahlung mit diesem Dienst primär die E-Mail-Adresse des Empfängers angeben muss.

Produkte erfassen

image Nun wird es Zeit, einige Produkte zu erfassen, um den Bestellablauf durchspielen zu können. Pro Artikel gibt es eine grosse Menge von Daten, die Sie erfassen können, aber nicht müssen. Beschränken Sie sich für den Anfang auf folgende Felder:

  • Artikelname
  • Artikelnummer
  • Teasertext
  • Artikelbschreibung
  • Einzelpreis

Testkunde anlegen

Damit wäre nun der Moment gekommen, wo Sie einen ersten Testkauf tätigen können. Legen Sie hierzu einen Testkunden an, entweder über das Registrierungsformular im Frontend oder direkt im Backend unter “Benutzerverwaltung > Mitglieder”. Sie sollten nun zumindest einen Kauf gegen Rechnung (d.h. ohne Online-Zahlung) komplett durchspielen können.

Nächste Schritte

Natürlich braucht es noch ein bisschen mehr als die hier gezeigten Schritte, bis ein Online-Shop live gehen kann. Beispielsweise sollte man sich Gedanken darüber machen, welche Seiten des Shops man in der Navigation ausblendet, ob man alle passwortgeschützten Seiten als Subseiten zur Login-Seite einrichten möchte, oder ob man im Interesse der Benutzerführung da und dort noch Texte und Links hinzufügt. Auch das Design ist sicher noch nicht optimal, so lange Sie nicht die Stylesheets angepasst haben. Und in den zahlreichen Konfigurationsoptionen der verschiedenen Seiten, Elemente und Module steckt noch die eine oder andere Feinheit, die für einen produktiven Shop bedacht sein will.

Isotope E-Commerce: Neues Shop-Modul für TYPOlight

image

Im englischsprachigen TYPOlight-Forum wurde diese Woche die “informelle Ankündigung” eines neuen Shop-Moduls für TYPOlight veröffentlicht. Ähnlich wie beim kürzlich vorgestellten TYPOlight webShop ist das Ziel eine möglichst nahtlose Integration von Shop- und CMS-Funktionalität.

Die Ankündigung betont, dass man möglichst wenig neu erfinden wollte und auf den bestehenden Konzepten aufbaut; so werden beispielsweise Produktkategorien ganz einfach durch Seiten abgebildet. Hervorgehoben werden ferner die Möglichkeiten zur Bildmanipulation auf dem Server, der im Backend integrierte E-Mail-Editor sowie die Mehrsprachigkeit. An Zahlungsoptionen stehen nebst der Basisversion von PayPal und Authorize.net auch der Schweizer Payment Provider Postfinance zur Verfügung.

Eine Beta-Version soll im September einem beschränkten Benutzerkreis zugänglich gemacht werden.

Mehrsprachige Websites mit TYPOlight – ein Überblick

Spracheinstellung im Browser (Firefox)

Als Bewohner eines offiziell viersprachigen Landes habe ich fast ausschliesslich mit mehrsprachigen Websites zu tun. Dieser Artikel bietet einen Überblick über die Mechanismen des CMS TYPOlight im Hinblick auf die Mehrsprachigkeit.

Backend

image

Wenn es um Mehrsprachigkeit geht, dann muss man immer unterscheiden, ob man vom Frontend oder vom Backend spricht. In der Regel denkt man nämlich nur ans Frontend (d.h. die Website, wie sie der Besucher sieht); für einen Content Manager ist jedoch die Frage, um er mit einem Backend in seiner Muttersprache arbeiten kann, oft genau so wichtig.

Das Backend von TYPOlight ist derzeit in gut 30 Sprachen übersetzt. Deutsch und Englisch werden standardmässig installiert, weitere Sprachpakete kann man einzeln herunterladen und per FTP installieren. Der einzelne Backend User kann seine bevorzugte Sprache entweder beim Login oder aber als Teil seiner Benutzereinstellungen individuell festlegen (unter “Benutzerfunktionen: Persönliche Daten”).

Da die Übersetzungen durch die Community erstellt werden, sind nicht alle Sprachpakete gleich aktuell. Auch werden Extensions unterschiedlich gut abgedeckt. TYPOlight bietet im Backend unter “System” die Funktion “Fehlende Labels” – dort sieht man auf einen Blick, wie vollständig ein Sprachpaket ist. Fehlende Übersetzungen kann man dort allerdings nicht ergänzen – dies geschieht zentral über ein Online-Tool, für das man sich separat registrieren muss. Das ist etwas umständlich, stellt aber sicher, dass Übersetzungen sämtlichen TYPOlight-Benutzern zu gute kommen.

Frontend

Auch im Frontend unterstützt TYPOlight Mehrsprachigkeit. Diesen Anspruch erheben allerdings fast alle CMS, und man muss deshalb genauer hinschauen und sich fragen, wie diese Mehrsprachigkeit im Detail umgesetzt ist. TYPOlight benutzt einen leicht verständlichen Ansatz, mit dem man aber auch an Grenzen stossen kann. Zudem sind gewisse Funktionen nur in Form von Extensions vorhanden.

Es gibt grundsätzlich zwei Prinzipien, wie man mit einem CMS mehrsprachige Websites aufbauen kann: Entweder basieren alle Sprachversionen auf der gleichen Website-Struktur, die Übersetzungen einer Seite sind dann direkt in der Originalseite hinterlegt und werden je nach Benutzersprache ein- oder ausgeblendet. Dieser Ansatz erlaubt den direkten Wechsel zwischen den Sprachversionen derselben Seite und ist oft die bessere Lösung, wenn man den Überblick behalten muss, welche Seiten schon übersetzt sind und welche nicht. Bei TYPO3 beispielsweise ist dieses Prinzip sehr schön realisiert.

image

Das zweite Prinzip arbeitet mit einer separaten Website-Struktur pro Sprache, d.h. der Seitenbaum wird für jede Frontend-Sprache individuell erstellt und gepflegt. Dadurch sind die Sprachversionen nicht miteinander verknüpft, was Vorteil wie Nachteil sein kann: Die Erfahrung zeigt, dass viele Websites ihren Anspruch, alle Inhalte zu übersetzen, in der Praxis doch nicht einlösen können – dann ist es einfacher, wenn die Sprachversionen wie individuelle Websites gehandhabt werden können. Auch im Hinblick auf suchmaschinenfreundliche URLs sind separate Seitenbäume sinnvoll, weil dann URL und Seiteninhalt immer in derselben Sprache verfasst sind. TYPOlight benutzt ausschliesslich diesen zweiten Ansatz.

Spracheinstellungen

Um mehrere Sprachversionen zu erstellen legt man in TYPOlight pro Sprache eine Seite vom Typ “Startpunkt einer neuen Website an”. In den Seiteneigenschaften wird dann die jeweilige Sprache eingetragen. Eine der Sprachversionen kann zudem als Fallback-Sprache definiert werden. Welche Sprachversion ein Website-Besucher zu sehen bekommt hängt von seinen Browser-Einstellungen ab. Existiert die bevorzugte Sprache nicht, dann wird die Fallback-Sprache angezeigt (oder, falls keine solche definiert wurde, die Fehlermeldung “Page not found” ausgegeben).

Sprachwahl

Dass TYPOlight aufgrund der Browser-Einstellung automatisch eine geeignete Sprachversion anzeigt, ist sehr angenehm. Trotzdem sollte man sich nicht ausschliesslich darauf verlassen, denn vielleicht sind die Browser-Einstellungen ja falsch, oder der Benutzer bevorzugt aus anderen Gründen eine andere Sprachversion als die von TYPOlight vorgeschlagene. Ein Sprachwechsler gehört deshalb zwingend zu einer mehrsprachigen Website.

Die einfache Variante besteht darin, dass man den Sprachwechsler hart codiert. Hierzu legt man ein Modul vom Typ “Eigener HTML-Code” an und fügt ein Code-Snippet der folgenden Art ein:

<a href=”{{env::path}}index.php/home.html” title=”Zur deutschen Startseite”>Deutsch</a> | <a href=”{{env::path}}index.php/home-en.html” title=”Go to English homepage”>English</a>

Anschliessend wird dieses Modul in allen Seitenlayouts an geeigneter Stelle integriert, und schon hat man einen Sprachwähler auf allen Seiten, der den Sprung auf die Homepages aller Sprachversionen erlaubt.

image

Komfortabler und flexibler ist der Einsatz der Extension changelanguage: Diese erstellt den Sprachwähler automatisch aufgrund aller existierenden Sprachversionen und bietet dabei einige Gestaltungsoptionen. Der Hauptvorteil der Extension liegt allerdings darin, dass man jeder Seite einer Zusatzsprache die entsprechende Seite in der Fallback-Sprache zuordnen kann. Dadurch kann man direkt zwischen den korrespondierenden Seiten der verschiedenen Sprachversionen wechseln – sofern sich der Content Manager die Mühe gemacht hat, jeder Seite die entsprechende Seite der Fallbacksprache manuell zuzuweisen. Die Extension changelanguage kompensiert also den wichtigsten Nachteil der getrennten Seitenbäume.

Obiges Prinzip funktioniert mit normalen Seiten, nicht aber für Nachrichten (News). Wenn man auch hier den Wechsel zwischen den verschiedenen Sprachversionen einer Newsmeldung ermöglichen will, muss man zusätzlich die Extension newslanguage installieren, welche auf changelanguage aufbaut.

Übersetzungsprozess

Eine mehrsprachige Website technisch zu implementieren ist eine Sache – den Übersetzungsprozess der Inhalte zu managen eine ganz andere. Von Haus aus bietet TYPOlight hier keine Unterstützung, weil es eben die Sprachversionen als separate Websites versteht. Hier empfiehlt sich die Extension translations, dank der man auf Ebene von Seiten, Artikeln und Inhaltselementen rasch zwischen den einzelnen Sprachversionen hin- und herwechseln kann. Diese Extension funktioniert nur, wenn man identisch strukturierte Sprachversionen hat – dann aber ist sie eine grosse Hilfe.

image

Übersetzung von Modulen

Beim Thema Mehrsprachigkeit darf man auch nicht vergessen, dass nicht ganz alle Texte, die im Frontend sichtbar sind, durch den Content Manager bearbeitet werden können. Nehmen wir als Beispiel das Suchformular: Die Beschriftung des Buttons “Suchen” kann man im Backend nicht ändern – diese ist im Quellcode als Variable $GLOBALS[‘TL_LANG’][‘MSC’][‘searchLabel’] hinterlegt und wird in der Datei /system/modules/frontend/languages/de/default.php ins Deutsche übersetzt. In welche Sprachen ein Modul übersetzt ist und wie vollständig diese Übersetzung ist, kann man mit der Extension translationhelper herausfinden.

Ein anderer Aspekt von Modulen ist der, dass man diese in der Regel nicht für jede Sprache separat definieren möchte. Für diesen Zweck gibt es seit TYPOlight 2.7 das Insert-Tag iflng, das eine Fallunterscheidung nach Sprache erlaubt. Ein Beispiel: Wenn Sie ein Modul vom Typ “Eigener HTML-Code” benutzen, um auf jeder Seite automatisch einen Footer mit den Copyright-Informationen auszugeben, dann können Sie dieses Modul wie folgt für die drei Sprachen Deutsch, Englisch und Französisch definieren:

© 2008-2009 Martin Sauter –
{{iflng::de}}Alle Rechte vorbehalten{{iflng}}
{{iflng::en}}All rights reserved{{iflng}}
{{iflng::fr}}Tous droits réservés{{iflng}}

Mit diesem Insert-Tag kann man beispielsweise auch die Feldbeschriftungen in Formularen sprachabhängig definieren und erspart sich so die Mühe, jedes Formular pro Sprache separat zu bauen.

Möchte man nicht nur reinen Text, sondern auch andere Insert-Tags in Abhängigkeit von der aktuellen Sprache nutzen, dann hilft die Extension fp_lngInsert weiter.

Extensions

Die pauschale Aussage “TYPOlight unterstützt Mehrsprachigkeit” ist insbesondere dort mit Vorsicht zu geniessen, wo Extensions zum Einsatz kommen. Hier muss man fallweise prüfen, ob und in welcher Weise Sprachversionen umgesetzt werden können. Ein gutes Beispiel ist der kürzlich veröffentlichte TYPOlight webShop: Dieser erlaubt zwar unterschiedliche Währungen, Liefergebiete und Steuerzonen, nicht aber unterschiedliche Sprachen. Dies hat zur Folge, dass man pro Sprache einen separaten Shop mit einem individuellen Produktkatalog erstellen muss. Bei einem grösseren Sortiment ist das sehr aufwändig, zudem schafft es Fehlerquellen (z.B. dass Produktdaten oder Preise in den Sprachversionen nicht übereinstimmen), und gewisse Funktionen wie die Lagerbestandsverwaltung sind bei separaten Shops schlicht nicht mehr sinnvoll nutzbar.

TYPOlight Community eröffnet

TYPOlight-Forum deutsch

In seinem Ausblick auf die zukünftige Entwicklung von TYPOlight hat der Entwickler Leo Feyer insbesondere die Verbesserung von Dokumentation und Support als strategische Ziele des Open-Source-Projekts bezeichnet. Ein Element dieser Strategie ist die Eröffnung eines neuen Forums, das den nicht-kommerziellen Support durch die Community sicherstellt. Es löst das bisherige Forum auf der TYPOlight-Website ab, dessen Inhalt zwar weiterhin verfügbar bleibt, das aber keine neuen Nachrichten mehr zulässt. Die Auslagerung unter der neuen Domain www.typolight-community.de hat primär haftungsrechtliche Gründe; die Gelegenheit wurde aber auch gleich genutzt, um mit vBulletin eine leistungsfähigere Forums-Software einzuführen (die beispielsweise auch beim TYPO3 Forum zum Einsatz kommt).

TYPOlight-Forum englisch

Für die englischsprachigen TYPOlight-Benutzer gibt es übrigens ein separates Forum unter der URL www.typolight-community.org. Dieses sieht nicht nur optisch leicht anders aus, sondern setzt auch eine andere Forums-Software ein (nämlich phpBB). Somit sind die beiden Foren vollständig getrennt, sie sind nicht gemeinsam durchsuchbar, erfordern separate Profile und sind nicht einmal über ein Single-Sign-on miteinander verknüpft. Diese Abspaltung halte ich persönlich für einen gravierenden Fehler – die Diskussion darüber im deutschsprachigen Forum findet man hier.

TYPOlight webShop: CMS mit voll integriertem Online-Shop

image Darauf habe ich lange gewartet: ein Online-Shop, der in Form einer Extension vollständig in das CMS TYPOlight integriert ist. Keine halbwegs gelungene Anbindung einer eigenständigen Shop-Lösung (wie z.B. Magento, osCommerce, PrestaShop oder Oxid), bei der man hinter den Kulissen trotzdem mit zwei verschiedenen Systemen arbeiten muss, sondern eine Lösung aus einem Guss. Hinter dem TYPOlight webShop steht die 2-Mann-Agentur fruitMedia aus Scharbeutz bei Lübeck, die ihre Extension seit heute ausführlich und übersichtlich auf einer professionell gestalteten Website (inkl. Demo) präsentiert. Wenn die Extension hält, was die Website verspricht, dann kann nichts schiefgehen.

Den TYPOlight webShop gibt es in zwei Versionen:

  • Die Community Edition ist kostenlos, besitzt aber die Einschränkung, dass keine Produktvarianten (sogenannte Artikel) möglich sind. Wenn Sie beispielsweise T-Shirts verkaufen und das Modell “Copacabana” in 3 Grössen und 5 Farben anbieten, dann ist das 1 Produkt mit 15 Artikeln, welche eigenständige Artikelnummern und eventuell auch individuelle Preise haben. Natürlich können Sie die T-Shirts auch als 15 eigenständige Produkte abbilden, aber dann vergeben Sie sich gewisse Vorteile, welche eine saubere Produkt/Artikel-Hierarchie hat.
  • Die voll ausgestattete Business Edition, welche Artikel unterstützt und auch Download-Artikel, Auktionsartikel sowie Artikel-Sets erlaubt, kostet knapp 600 Euro. Diese Lizenzgebühr ist pro Domain fällig. Ein solches Geschäftsmodell mag man deshalb kritisieren, weil Leo Feyer für sein TYPOlight ja auch kein Geld nimmt. Andererseits sprechen wir hier von einer Shop-Lösung, d.h. der Betreiber verdient mit seinem Shop ebenfalls Geld – die Lizenzgebühr ist also rasch amortisiert. Und für eine professionelle Extension mit ebensolchem Support sind 600 Euro sicher nicht zu viel.

Die Funktionen eines Shops kann man generell in folgende Gruppen unterteilen:

  • Produktkatalog: Der TYPOlight webShop erlaubt – wie oben beschrieben – Produkte mit Artikeln, wobei die Attribute, über welche sich die Artikel unterscheiden, frei definierbar sind (z.B. Grösse, Farbe, Material, Stromspannung). Produkte können wiederum in Kategorien und Unterkategorien gegliedert werden, wobei gewisse Kategorien auch für bestimmte Kundengruppen vorbehalten sein können (z.B. Club-Mitglieder). Artikel können als “Neu” oder als “Angebot” gekennzeichnet werden, und es sind Empfehlungen möglich (zu diesem Artikel passen Artikel X, Y und Z). Nebst den Standardpreisen sind auch Sonderpreise pro Artikel oder pro Kundengruppe möglich.
  • Gutscheine: Der TYPOlight webShop bietet ein ausgereiftes Gutschein-Modul. Gutscheine können einen prozentualen Rabatt oder einen Fixbetrag aufweisen. Sie können wahlweise limitiert (Zeitperiode, Anzahl Einlösungen) oder unbeschränkt zugelassen werden.
  • Versandkosten und Steuern: Sowohl Umsatzsteuern als auch Versandkosten sind oft von der Bestellung abhängig. Der TYPOlight webShop trägt diesem Umstand Rechnung, indem diese Kosten individuell pro Artikel und pro Land kalkuliert werden können. Die Versandkosten können sogar wahlweise nach Gewicht oder nach Preis festgelegt und mit Staffelpreisen versehen werden.
  • Zahlung: Der Verkauf gegen Rechnung, Nachnahme oder Lastschrift ist technisch trivial und natürlich auch beim TYPOlight webShop möglich. Spannender sind die Implementierung von Online-Zahlungsverfahren: Aktuell werden aber nur PayPal sowie sofortueberweisung.de unterstützt. Zwar steht auf der webShop-Website, dass sich beliebige Zahlungsmodule einbinden lassen – das ist dann aber ein Fall für einen Programmierer und nicht für einen CMS-Administrator.
  • Kundendaten: Für jeden Kunden wird ein Konto geführt, in dem nebst den Rechnungs- und Lieferadressen (auch mehrere) seine Bestellhistorie und der Status der laufenden Bestellungen einsehbar sind. Natürlich sind diese Daten über ein individuelles Login geschützt.

Fazit: Der TYPOlight webShop macht einen sehr guten ersten Eindruck. Die Funktionalität ist sehr praxisgerecht – nicht zu viel und nicht zu wenig. Die Präsentation unter www.typolight-webshop.de wirkt professionell und durchdacht. Das alles gilt zwar auch für andere Shops, aber hier kommt die nahtlose Integration in das CMS TYPOlight hinzu, und das scheint mir der eigentliche USP. Denn oft braucht man eben nicht eine Website oder einen Shop, sondern eine Website und einen Shop. Und so effizient wie mit TYPOlight plus webShop kann man das selten lösen.

Mir persönlich fehlt im Moment noch die Anbindung an weitere Payment Provider (insbesondere an das Schweizer Trio Saferpay, PostFinance E-Payment und Datatrans), und für einen grösseren Shop (viele Artikel, viele Kunden) hapert es im Moment noch mit den Import- und Exportfunktionen. Bedauerlich ist ferner, dass mehrsprachige Websites vom webShop nicht unterstützt werden. Ausserdem möchte ich nicht verschweigen, dass bei der Installation der Community Edition 2.0.0 auf meinem Testsystem einige erhebliche Probleme aufgetreten sind (wurden bereits an den Anbieter gemeldet und teilweise auch schon behoben). Insgesamt scheint mir aber der TYPOlight webShop eine der wichtigsten Extensions für TYPOlight seit langem. Wie die TYPOlight-Community darauf reagiert, kann man hier mitverfolgen.

P.S. Wer im TYPOlight-Forum nach “Shop” sucht, findet dort Ankündigungen von diversen anderen Shop-Extensions. Viel zu reden hat der Psishop gegeben; der Veröffentlichungstermin wurde aber immer wieder verschoben, und der Entwickler weist explizit darauf hin, dass die Extension derzeit nicht produktiv nutzbar ist (was ich aus eigener Erfahrung bestätigen kann). Dann gibt es eine weitere Ankündigung für eine Extension, die offenbar gemeinsame Wurzeln mit dem TYPOlight webShop von fruitMedia hat, die aber nicht ein vollwertiger Shop, sondern ein flexibles Bestellsystem werden soll. Unklar ist mir, wie es um den i7shop von Include7 steht, der in den Forumsbeiträgen als Minishop angekündigt wurde.

TYPOlight 2.7: Umfangreichstes Update aller Zeiten

image

Der Chef-Entwickler Leo Feyer nennt die TYPOlight-Version 2.7 ein Spring Cleaning Release. Mit anderen Worten: Die neuste Version bringt nicht primär neue Features, sondern räumt hinter den Kulissen auf und schneidet alte Zöpfe ab. Insgesamt wurden seit der letzten Version 2.6.7 über 100 Tickets erledigt. Die wichtigsten Neuerungen im Überblick:

  • Glossar: Die Glossarerweiterung gehört nun zum Standard-Lieferumfang von TYPOlight. Glossareinträge können Bilder und Anhänge umfassen (so wie dies auch bei Nachrichten, FAQ-Einträgen oder Events der Fall ist).
  • Modul “Buchnavigation”: Dieser Navigationstyp fügt automatisch einen Link zur vorangehenden, zur übergeordneten und zur nachfolgenden Seite ein. Damit werden auch umfangreichere Texte gut navigierbar, und zwar ohne dass der Webmaster die Links manuell einbauen muss. Das ganze funktioniert auch dann, wenn die Seiten über mehrere Hierarchiestufen verteilt sind.
  • Featured News: Einzelne Nachrichten können vom Content-Manager über die Checkbox “Beitrag hervorgeben” (im Bereich “Experten-Einstellungen”) markiert und so zusätzlich in einer speziellen Nachrichtenliste (die man beispielsweise in die Homepage integriert) publiziert werden.
  • Suchmaschinen-Optimierung: Um dem Google-Bot anzuzeigen, welche Seiten einer Website er indizieren soll, gibt es das META-Tag “robots” (z.B. <meta name=”robots” content=”index, nofollow”>). Dieses Tag kann neu im TYPOlight-Backend im Modul “Seitenstruktur” pro Seite gesetzt werden. (Diese Einstellung ist unabhängig von der Checkbox “Nicht durchsuchen”, welche sich auf die website-interne Volltextsuche bezieht.)
  • Systemwartung: Auch Benutzer, die keinen Zugriff auf das Backend-Modul “Systemwartung” haben, können nun den Cache und die temporären Daten löschen.
  • Insert-Tag “iflng”: Über das Tag “iflng” können sprachabhängige Inhalte eingefügt werden, die automatisch ausgeblendet werden, wenn die Seitensprache nicht mit der Sprache des Tags übereinstimmt. Das Tag ist beispielsweise in Modulen oder Formularen sinnvoll.
  • Hook “importUser”: Dieser Hook schafft die Voraussetzungen, dass Login-Daten nicht nur mit dem internen Benutzerverzeichnis, sondern auch mit einem LDAP-Server abgeglichen werden können.
  • 2-Spalten-Backend: Statt alle Felder im Backend untereinander aufzulisten, werden sie nun in zwei Spalten angeordnet; dadurch muss man weniger scrollen. Zudem können einzelne Bereiche zugeklappt werden, was die Übersichtlichkeit verbessert – wie man in diesem Screencast sehen kann. Ausserdem ist das Backend nun kompatibel zum Internet Explorer 8.
  • Passwort-Sicherheit: Ab der Version 2.7 werden TYPOlight-Passwörter stärker verschlüsselt. Im Fachjargon: Die Passwörter werden gesalzen, um Rainbow-Table-Angriffe zu verhindern.
  • Drag & Drop: Obwohl Drag-and-Drop-Techniken für das Backend erst in der Version 2.8 Einzug halten sollen, gibt es bereits in der Version 2.7 eine Kostprobe: Umfasst ein Artikel mehrere Elemente, so kann deren Reihenfolge durch Ziehen mit der Maus geändert werden.
  • Template-Änderungen: Die Version 2.7 bringt diverse Änderungen an den Templates mit sich, was bedeuten kann, dass man seine Website anpassen muss. Die Änderungen sind hier dokumentiert, ein kleines Tool prüft, ob eine Website die Voraussetzungen für TYPOlight 2.7 erfüllt.
  • Libraries/Plug-ins: TYPOlight nutzt eine ganze Reihe von Libraries aus anderen Quellen. Viele dieser Libraries wurden aktualisiert (namentlich mootools, dfGallery, simplepie, TCPDF und TinyMCE). Das UFO Flash-Plugin wurde durch SWFObject ersetzt. Zudem können nun JavaScript-Dateien, die grösser als 4 KB sind, von TYPOlight in komprimierter Form ausgeliefert werden, um die Ladezeiten zu verkürzen (erfordert mod_rewrite, Aktivierung über .htaccess).
  • Sprachdateien: Last but not least wurden alle Sprachdateien überarbeitet.

exttypolight: Aufgebohrtes Backend für TYPOlight

image

Es ist ziemlich verblüffend, was die Extension exttypolight im Backend von TYPOlight bewirkt: Das ganze Bedienungskonzept wird umgekrempelt, indem die bisherige linke Modulleiste durch einen Seitenbaum im Stil von TYPO3 ersetzt wird. Dies ermöglicht einen schnelleren Wechsel zwischen den verschiedenen Seiten, und auch die Trennung von Seitenstruktur und Seiteninhalt wird aufgehoben. Der Seitenbaum stellt ein gut bestücktes Kontextmenü zur Verfügung und bietet Drag & Drop beim Verschieben von Seiten und Elementen. Die Backend-Module aus der linken Spalte sind neu in einer Menüleiste mit Dropdown-Menüs am oberen Bildschirmrand angebracht.

Noch ohne einen Langzeittest durchgeführt zu haben würde ich sagen: exttypolight macht TYPOlight nicht unbedingt einfacher, aber für einen halbwegs geübten Benutzer auf jeden Fall effizienter. Der Name “Extended TYPOlight” ist somit durchaus gerechtfertigt. Das Design ist gefällig und sieht nicht zufällig sehr ähnlich aus wie bei OpenGoo: Auch hier kommt das JavaScript-Framework extJS zum Einsatz.

exttypolight kann man nur bedingt erklären, aber sehr leicht verstehen, wenn man es ausprobiert. Zugang zur Demo erhalten Sie mit dem Default-Login von TYPOlight (User = k.jones, Passwort = kevinjones).

(via Der Mediamatiker)

Fotogalerien für TYPOlight – ein Überblick

image

Motiviert durch einen Kunden, der sich nicht mit einer 08-15-Fotogalerie zufrieden geben wollte, habe ich kürzlich alle aktuell verfügbaren Fotogalerien für TYPOlight durchgecheckt. Hier eine Zusammenfassung dieser Recherche:

Im Lieferumfang von TYPOlight sind zwei Inhaltselemente für Fotogalerien enthalten:

  • Die Bildergalerie erzeugt mit minimalem Aufwand aus einem Ordner mit Bildern eine Web-Seite mit Thumbnails. Ein Klick auf ein Thumbnail öffnet die Grossansicht mit Lightbox-Effekt.
  • Die dfGallery ist eine leistungsfähige Flash-Applikation für Dia-Shows (vgl. Demo). Auf Wunsch kann die dfGallery auch bildschirmfüllend geöffnet werden und macht dann vergessen, dass man sich auf einer Website befindet.

Mit den folgenden Erweiterungen können weitere Typen von Fotogalerien realisiert werden:

  • photoshow stellt eine Fotostrecke bereit, d.h. die Bilder werden der Reihe nach durchgeklickt. Wahlweise können unterhalb des aktuellen Bildes die Vorschaubilder der gesamten Fotostrecke eingeblendet werden. Diese Lösung ist weit weniger spektakulär als die dfGallery, aber zweckmässig und setzt kein Flash-Plugin voraus. (Für Details vgl. TYPOlight Extensions: Fotostrecken mit PhotoShow.)
  • imagerotator ist die schlichteste Form einer Dia-Show und gefällt mir gerade dadurch ausnehmend gut. Man sieht lediglich ein einzelnes Bild im Grossformat, das in einem wählbaren Zeitintervall sanft auf das folgende Bild überblendet. Auch diese Lösung kommt ohne Flash aus.
  • gallery und photoalbums sind zwei vergleichbare Lösungen, welche sehr klassische Fotogalerien erzeugen. Sie gliedern die Fotos in Archive und Alben und eignen sich damit auch für umfangreiche Fotosammlungen. Die Präsentation ist nicht besonders spektakulär, aber sehr detailliert konfigurierbar – dadurch ist allerdings auch der Initialaufwand etwas grösser als bei den anderen hier erwähnten Extensions.
  • imageflow implementiert ImageFlow, eine in JavaScript realisierte Fotogalerie, welche Apples CoverFlow nachempfunden ist. Klickt man auf ein einzelnes Bild, so öffnet sich die Grossansicht ebenfalls mit Lightbox-Effekt. Das Resultat dieser Extension ist ansprechend, verbraucht sich allerdings für meinen Geschmack bei zu häufigem Einsatz. Zu beachten ist ferner, dass diese Extension für den kommerziellen Einsatz lizenzpflichtig ist.

Insgesamt sind alle Extensions gut konzipiert und sauber umgesetzt. Wenn man TYPOlight kennt, dann hat man innert einer halben Stunde eine präsentable Fotogalerie implementiert. Alle Extensions sind im TYPOlight Extension Repository verfügbar oder können deshalb direkt aus dem TYPOlight-Backend heraus installiert werden.

TYPOlight-Extensions: BackupDB

image

Zugegeben: Der obige Screenshot ist absolut unspektakulär. Und doch ist die TYPOlight-Extension BackupDB ungemein hilfreich und sollte eigentlich standardmässig installiert werden.

Wie der Name sagt kann man mit BackupDB eine Sicherheitskopie der TYPOlight-Datenbank erstellen. Das Vorgehen ist trivial: Man klickt den Button “SQL-Backup starten”, wodurch eine SQL-Datei erzeugt und auf die lokale Festplatte heruntergeladen wird. Natürlich kann man Ähnliches auch über das Control Panel des Hosting Providers oder mit phpMyAdmin erreichen, nur ist dies eine entscheidende Spur umständlicher. Dank BackupDB kann man die Sicherheitskopie routinemässig bei jedem Content-Update machen, und das erhöht die Chance, dass man es auch tatsächlich macht.

imageMan kann BackupDB übrigens auch dazu nutzen, um eine TYPOlight-Website auf einen neuen Server zu transferien. Tatsächlich war dies auch der Grund, warum ich überhaupt auf die Extension gestossen bin. Nachdem sich die reguläre Backup-Datei auf dem neuen Server einfach nicht importieren liess, war BackupDB meine letzte Hoffnung – und tatsächlich konnte ich die damit erzeugte SQL-Datei problemlos einlesen.

Nebst dem Backup kann BackupDB auch Website-Templates erstellen. Wer TYPOlight schon einmal selbst installiert hat wird dies von der Beispiel-Website “Music Academy” her kennen. Ausserdem kann BackupDB in Kombination mit der Extension cron automatisch Backups erstellen.