public function setup() { ... $this->dispatcher->connect('request.filter_parameters', array($this, 'filterRequestParameters')); } public function filterRequestParameters(sfEvent $event, $parameters) { $request = $event->getSubject(); if(preg_match('#^(?!.*iPad).*(Mobile|Jasmine|Symbian|NetFront|BlackBerry|Opera Mini|Opera Mobi).*$#i', $request->getHttpHeader('User-Agent'))) { $request->setRequestFormat('mobile'); } return $parameters; }That's all. Now you have to create the mobile version of your layout (layout.mobile.php), your templates (ex. showSuccess.mobile.php), your partials (ex. _menu.mobile.php). Then you can try to open your site with your mobile, or you can use an emulator like Opera Mobile Emulator.
ps: you can use the $request->getRequestFormat() in an action which returns with "mobile".
ps2: Useful urls:
How to create an optimized version of your website for the iPhone in symfony 1.1
WebMozarts - Creating mobile symfony sites
Symfony users - mobile site strategy
No comments:
Post a Comment