Some of us at work spent the last two months of our 20% open source time to build a solution for selective content delivery in TYPO3: Contexts.
The three extensions let you play out different content on your TYPO3 website depending on several factors:
- Device type (tablet, phone, TV, ...)
- Device brand and browser
- Screen size
- Location: continent, country, distance around a point
- GET-parameters, e.g. affiliate IDs
- Logical combination of any of the above
The main extension lets you configure if pages and content elements shall be shown or hidden when such a configured "context" is active. It also provides an API that can be used in own extensions.
The extensions are open source (1, 2, 3) and make use of PHP's geoip extension as well as the WURFL device database.
If you understand German, have a look at the extensive blog entry about contexts .
Screenshot
For distance selection, I embedded OpenStreetMap directly in TYPO3 backend forms: