Sorry, i sent the message incomplete: Hi!
I'm using jQueryMobile to make the "mobile skin", and the way that i do is this: if is_mobile and request.extension == "html" : #Its mobile response.view = "%s/%s.%s" % (request.controller, request.function, "mobile") if not os.path.exists(os.path.join(request.folder, 'views', request.controller, request.function+".mobile")): response.view = '%s.%s' % ("generic", "mobile") The 'request.extension == "html"' condition is because if you use .load, .json extensions or so, it can crash With this code, you only have to make ".mobile" extensions of your views: for example if you have: layout.html generic.html controller/funct1.hmtl controller/funct2.html You only have to make the views: layout.mobile generic.mobile controller/funct1.mobile controller/funct2.mobile If you keep your editor's syntax highlighting maybe you can change ".mobile" extension with ".mobile.html" (editing the code that i pasted at the begginig too, to make this change work) I hope this solution will be useful El lun, 27-06-2011 a las 16:28 -0700, Luis Goncalves escribió: > Hello! > > I need to customize my views so that they look good on a computer > screen and on a smart phone. > > One way to do so, It think, is to have separate layout definitions and > then do something like: > > {{if session.platform == 'mobile':}} > {{extend 'mobile-layout.html}} > {{else:}} > {{extend 'desktop-layout.html'}} > {{pass}} > > This does not seem to be working - I get lots of syntax errors (can't > even figure out where they are!) > > Is this approach wrong? Is it possible to have a conditional > "extend" ? > > Is there a smarter/better way to make the view rendering platform > dependent? > > Thanks, > Luis.