Login / Status
developer.Resource
Home . Documentation . Document Library . Extension Manuals
Sponsors
hosted by punkt.deTYPO3 and Open Source MagazineAOE Media

Chapter 1. EXT: Wurfl

Extension Key: wurfl

Copyright 2000-2005, Michael Perkhofer, <michael@perkhofer.at>

Parts of this document are taken from wurf.sourceforge.net,

written by Luca Passani and AndreaTrasatti

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.com

Credits to Luca Passani and Andrea Trasatti for delivering this great project

1.1. Introduction

Preamble

Credits to Luca Passani and Andrea Trasatti for delivering this great project. This extension relies very much on the work of the Wurfl team, found at wurfl.sourceforge.net and the WMLProgramming mailing list on Yahoo Groups http://groups.yahoo.com/group/wmlprogramming/

What does it do?

If you want to deploy your Typo3 Projects for mobile devices, you have to make your templates flexible enough, to get suitable results for every mobile on the market. We have the [device = wap] condition, which seems to be a bit outdated, because it doesn't recognize new mobile devices E.g. a Samsung mobile (user agent: SAMSUNG-SGH-E700/BSI2.0 UP.Browser/6.1.0.6 (GUI) MMP/1.0 UP.Link/1.1) is not detected. Also modern mobiles can display different media types and your templates need to know, what they can send to which device. If we take a closer look to the Typo3 Core  class.t3lib_matchcondition.php, we see, that the user agent is matched against some strings, which don't cover the huge amount of mobiles available today.

00361                         // wap
00362                 $browser=substr($agent,0,4); 
00363                 $wapviwer=substr(stristr($agent,'wap'),0,3); 
00364                 if(     $wapviwer=='wap' || 
00365                         $browser=='noki' || 
00366                         $browser== 'eric' || 
00367                         $browser== 'r380' || 
00368                         $browser== 'up.b' || 
00369                         $browser== 'winw' || 
00370                         $browser== 'wapa')      {
00371                                 return 'wap';

00372                 }

A very nice solution to this problem is the Open Source project 'WURFL' (wurfl.sourceforge.net), which is implemented by this extension.