Der Workshop zeigt Ihnen, wie Sie eine auf TYPO3 basierende Website mit einfachen Mitteln so optimieren, dass sie auf dem iPhone perfekt dargestellt wird. Zum Einsatz kommt dabei das Framework jQTouch [1], mit dem Sie Ihrer Website auf einfache Weise eine Navigation verpassen können, die der einer nativen iPhone-App stark ähnelt.
Grundsätzliche TypoScript-Konfiguration
Unabhängig davon, ob Sie Ihre Website gezielt für das iPhone optimieren oder nicht, sollten Sie einige Einstellungen vornehmen, damit die Website in jedem Fall ordentlich auf dem iPhone dargestellt wird. Der Aufwand ist gering, der Nutzen für Besucher mit einem iPhone aber hoch. Die wichtigste Einstellung ist hierbei der Viewport [2]. Über „page.headerData“ im TypoScript-Template können Sie diese Einstellung leicht vornehmen:
page.headerData.10=TEXT page.headerData.10.value ( <meta name="viewport" content="width = 630"> <meta name="apple-mobile-web-app-capable" content="yes" /> <link rel="apple-touch-icon" href="fileadmin/el-logo.png"/> )
Listing 1
Das Listing setzt nicht nur den Viewport auf die reale Breite Ihrer Website (bspw. 630 Pixel), sondern ermöglicht iPhone-Nutzern auch, die Website als Webanwendung auszuführen, in dem er das Lesezeichen auf den Home-Screen legt. Tut er das, ist auf dem Home-Screen das im Listing angegebene Icon (ideale Größe: 60 x 60 Pixel) zu sehen.
Aufbau einer Seitenstruktur
Home Produkte Zeitmaschinen Bring-me-back Timedevil Wells-Dream Küchengeräte Siemens Bosch Impressum
Listing 2
Geht es darum, eine Website nicht nur zu optimieren, sondern sie gezielt für das iPhone zu programmieren, muss man sich im Vorfeld einige Gedanken zur Seitenstruktur machen. Je nachdem, wie sehr sich die Seite am Userinterface des iPhone-Betriebssystems orientieren soll, unterliegen Entwickler Einschränkungen bei der Seitenstrukturierung.
Die Hauptproblematik liegt darin, das anders als bei einer „normalen“ Website, nicht hinter jeder Seite im Seitenbaum auch Content liegt. Durch den begrenzten Platz ist es zudem nötig, den Inhalt weiter zu gruppieren, ohne die Hierarchie dabei zu tief werden zu lassen. Außerdem ist es nötig, für jede Seite eine eigene Sitemap zu erstellen, die es Besuchern ermöglicht, innerhalb der Seite zu navigieren. Ein Beispiel verdeutlicht das Problem.
Bei einer klassischen Website würde auf der Seite „Produkte“ eine Auswahl besonderer Produkte und die Produktgruppen „Zeitmaschinen“ und „Küchengeräte“ zu sehen sein. Das iPhone-OS hat allerdings die Listendarstellung als Bedienkonzept etabliert.
Also stellt sich die Frage, wie man die oben gezeigte Navigationsstruktur auf dem iPhone umsetzt. Denkbar wären beispielsweise folgende Varianten:
- Erst die Produktgruppen (Zeitmaschinen und Küchengeräte) als Listenansicht, darunter der Seiteninhalt wie bei einer klassischen Webseite
- Erst die besonderen Produkte als Liste und darunter die Produktgruppen
Sie sehen: Es ist nicht ganz einfach. Vor allem bei mehreren Produktgruppen ist klar, das diese als Listenansicht aufgeführt werden. Auf der selben Seite auch noch andere Inhalte unterhalb der Listenansicht darzustellen, wäre nicht sinnvoll. Eine Alternative wäre, besondere Produkte durch eine etwa 200 Pixel hohe Slideshow aufzuzeigen. Darunter wäre dann die Liste mit den Produktgruppen zu sehen.
Wie auch immer Sie das Problem lösen: Sie müssen sich genau überlegen, wie die Struktur und der Informationsfluss Ihrer Website aufgebaut sein soll.
Eigener Seitenbaum
Wenn Ihre Website ausschließlich für das iPhone oder mobile Geräte entwickelt wird oder wurde, kommen Sie mit einem einfachen Seitenbaum aus, was die Arbeit deutlich vereinfacht. Wird die Website dagegen auch von normalen Desktop-Browsern aus aufgerufen (was die Regel sein dürfte), sollten Sie auf eine parallele „Schattenstruktur“ ausweichen, um nicht zwei Webauftritte pflegen zu müssen (siehe unten).
In einem eigenen Seitenbaum können Sie die Struktur optimal für das iPhone abbilden. Ausgehend vom obigen Beispiel, benötigen Sie außer „Home“ auf jeden Fall die Seiten „Produkte“ und „Impressum“. Interessanter wird es unterhalb der Seite „Produkte“. Theoretisch wäre es möglich, alles darunter liegende in eine Seite zu packen und nur noch innerhalb der Seite zu navigieren. Das würde die Seite allerdings unnötig aufblähen. Sinnvoller wären hier eigene Seiten. Jede Produktgruppe bekommt dabei eine eigene Seite, es gäbe dann eine Seite namens „Küchengeräte“ und eine namens „Zeitmaschinen“, auf der drei Produkte zu sehen sind. Auf der Seite „Zeitmaschinen“ würden Sie also drei Contentelemente anlegen, für jedes Produkt eins.
Verwendet man ein TYPO3-Contentelement „Sitemap“ vom Typ „Section-Index“, das den Inhalt der Seite auflistet, können Frameworks wie iUI oder jQTouch daraus automatisch eine navigierbare Listenansicht im iPhone-Style generieren. Ist die Seite einmal geladen, verhält sie sich von der Geschwindigkeit her zudem wie eine native Anwendung.
Schattenstruktur
Eine Schattenstruktur sollten Sie immer dann nutzen, wenn eine klassische Desktop-Version der Website bereits vorhanden oder geplant ist. Im Seitenbaum bauen Sie dabei eine zweite Seitenstruktur auf, die für die Navigation auf dem iPhone optimiert ist. Die Inhalte in dieser Seitenstruktur sind lediglich Referenzen auf die Original-Inhalte in der Desktop-Version.
TYPO3 gibt so auf den iPhone-Webseiten die Inhalte der referenzierten Desktop-Webseiten aus, verwendet dabei aber die TypoScript-Einstellungen der Schattenstruktur. Steht die Schattenstruktur, wird ihr über einen Domain-Record eine eigene Domain gegeben, die von den iPhone-Nutzern angesteuert werden kann. Alternativ können Sie iPhone-Nutzer anhand des übertragenen „useragent“ über eine Condition auf die iPhone-Website umleiten:
[useragent = „iPhone“] && [globalVar = TSFE:id > 1] page.meta.refresh = 1, url... [end]
Listing 3
Alexander Ebner








von Mobile Entwicklung: Der ultimative Über… 22.03.2010 (15:03Uhr) 1.
[...] der findet in unserem Magazinarchiv weitere Texte. So gibt es in t3n Nr. 19 einen Artikel, um TYPO3 für das iPhone zu optimieren. Von Ausgabe Nr. 13 an findet man zudem einen mehrteiligen Kurs, in dem eine iPhone-Webapplikation [...]
von Mit einfachen Mitteln zur mobilen Websit… 12.07.2010 (09:11Uhr) 2.
[...] einer iPhone-optimierten Website. Unser Beitrag aus t3n Magazin Nr. 19 zeigt, wie leicht das geht. Er steht jetzt kostenlos im Heftarchiv zur Verfügung. Zudem kannst Du t3n Nr. 19 versandkostenfrei in unserem Shop bestellen. Ads_BA_AD('CAD2'); typo3 [...]
von Alexander Weber 03.05.2011 (02:39Uhr) 3.
hallo, mit der t3m_iphoneweb extension soll man ja auch recht schnell ans ziel kommen. ich hatte damit so meine probleme und es fehlen auch viele dinge. daher habe ich selber auch eine extension geschrieben. wann ich sie veröffentlicht kann ich noch nicht mit bestimmtheit sagen. aber ein demo ist hier schon zu finden: http://www.blog.exotec.de/?p=482
von mirco 26.07.2011 (15:51Uhr) 4.
Hallo
Vielen Dank für die Anleitung.
Habe z.Z. doch noch ein kleines Problem das Menü ist eingebunden, wenn ich aber einen Link auswähle erscheint eine schwarze Seite. Ich denke ich habe einfach nur einen denkfelher was das einbinden des Menüs betrifft.
MENU < temp.menu.1
Vielen Dank voraus für Ihre Hilfe
MFG
Mirco
von iPhone Navigation mit TMENU JQTouch - TY… 26.07.2011 (17:47Uhr) 5.
[...] [...]
von typo3+iphone - TYPO3 Forum & Portal 20.12.2011 (07:45Uhr) 6.
[...] [...]
von Norman Paschke 13.06.2012 (13:33Uhr) 7.
In der Condition sollte es [useragent = *iPhone*] (oder auch *iPad*) heißen, also ohne Anführungsstriche sondern mit Platzhaltern. Sonst schlägt die Abfrage immer fehl.