Seite 1 von 1
[Bottle] mobile Endgeräte
Verfasst: Donnerstag 11. April 2013, 13:00
von lackschuh
Hallo
Ich bin gerade dabei, für meine Internetseite eine Version für Smartphones zu bauen. Anfänglich hatte ich nur ein zweites CSS angelegt mittels Media Queries. Da ich aber nur ein Bruchteil der Informationen auf der "mobilen Version" zur Verfügung stellen will, wurde es mir dann zu blöd, das Haupt-CSS umzuschreiben.
Meine Frage ist nun, ob es irgendwie möglich ist, den Browser bzw User-Agent zu überprüfen und wenn es sich um ein mobiles Gerät handelt, dann wird das "mobile.tpl" angezeigt und wenn nicht, dann "normales.tpl".
Re: [Bottle] mobile Endgeräte
Verfasst: Donnerstag 11. April 2013, 14:16
von Sirius3
Hallo lackschuh,
der Trend geht zu reinen CSS-Lösungen mit »responsive Design«. Die Vielzahl an Geräten, verschiedene Auflösungen, usw. macht eine Unterscheidung auf dem Server sehr schwierig.
Zudem ist es moralisch Fraglich mobilen Nutzern Daten vorzuenthalten, die könnten sich gekränkt fühlen.
Re: [Bottle] mobile Endgeräte
Verfasst: Donnerstag 11. April 2013, 14:48
von lackschuh
Hi
Auf einer Seite gebe ich dir ja recht. Das Ding ist halt so, dass ich im Haupt-App die Routs definiert habe :
Code: Alles auswählen
@route('/home', method='GET')
def hello():
tpl = template('layout.tpl', Titel = db.thome, Description =db.dhome, menubar = db.menubar,actstate = 'home')
banner = template('banner_aktuell.tpl', aktuelleProjekte = db.aktuelleProjekte)
t = Template(tpl)
return t.substitute(content= banner)
@route('/')
def home():
#banner()
redirect("/home")
Das ganze Zeugs wie die jquery slider etc. sind in den entsprechenden Templates eingebunden, welche nicht für mobile Geräte (480px) ausgelegt sind. Um mir eine "Neugestaltung" zu ersparen, dachte ich mir, es gäbe eine nicht allzu aufwändige Möglichkeit - ähnlich wie in php mit get_browser ([ string $user_agent [, bool $return_array = false ]] ) - um je nach Gerät bzw Display auf ein eigens dafür ausgerichtetes Tempalte zu verweisen...
EDIT:
user_agent unter bottle:
Code: Alles auswählen
@route('/user_agent')
def user_agent():
return request.environ.get('HTTP_USER_AGENT')
Re: [Bottle] mobile Endgeräte
Verfasst: Samstag 13. April 2013, 15:45
von Leonidas
Den User-Agent kannst du natürlich in Bottle auch auslesen, das Problem ist aber dass es ggf. schwer wird festzustellen ob es ein Mobile-Browser ist oder ein Desktop-Browser. Denn Browser wie Chrome, Firefox und IE gibt es in beiden Varianten.
Re: [Bottle] mobile Endgeräte
Verfasst: Samstag 13. April 2013, 15:57
von BlackJack
Zumal heutzutage selbst auf mobilen Geräten Auflösungen vorhanden sein können, bei denen man problemlos die normale Webseite ausliefern und anzeigen lassen kann. Das am verwendeten Browser fest zu machen ist keine so gute Idee.
Re: [Bottle] mobile Endgeräte
Verfasst: Samstag 13. April 2013, 20:41
von Leonidas
Wobei jetzt so ne hohe Auflösung auch nicht unbedingt heißt dass man eine Seite so auf einem 3.8" mit dicken Fingern gut bedienen kann. Andererseis gibts Tablets. Die haben AFAK die gleichen User-Agents und vertragen Desktop-Webseiten eher.
Re: [Bottle] mobile Endgeräte
Verfasst: Samstag 13. April 2013, 22:10
von lunar
@BlackJack Oh ja, die Website dieses Forums beispielsweise ließe sich ganz hervorragend auf meinem Telefon bedienen… wenn man Finger wie eine Pinzette und Augen wie ein Adler hätte.
Habe ich jetzt leider nicht, durch einen dummen Zufall der Evolution, insofern hilft mir die hohe Auflösung meines Telefons da leider gar nicht, so dass ich mir wirklich jedes Mal wieder wünsche, die phpbb-Entwickler hätten dieselbe Rücksicht auf Mobilgeräte genommen wie lackschuh.
Re: [Bottle] mobile Endgeräte
Verfasst: Samstag 13. April 2013, 22:20
von DasIch
Leonidas hat geschrieben:Wobei jetzt so ne hohe Auflösung auch nicht unbedingt heißt dass man eine Seite so auf einem 3.8" mit dicken Fingern gut bedienen kann. Andererseis gibts Tablets. Die haben AFAK die gleichen User-Agents und vertragen Desktop-Webseiten eher.
Dann entwickelt man die Seite am besten für Tablets und nutzt die gleiche als Desktop Webseite. Kleine Links, Buttons und Text, sowie hover Spielereien stören auf einem Tablet genauso wie auf einem iPhone. Außerdem sollte man darauf achten dass man bei Geräten mit Retina Displays entsprechende Bilder verwendet.
Re: [Bottle] mobile Endgeräte
Verfasst: Sonntag 14. April 2013, 13:59
von Leonidas
DasIch hat geschrieben:Dann entwickelt man die Seite am besten für Tablets und nutzt die gleiche als Desktop Webseite. Kleine Links, Buttons und Text, sowie hover Spielereien stören auf einem Tablet genauso wie auf einem iPhone. Außerdem sollte man darauf achten dass man bei Geräten mit Retina Displays entsprechende Bilder verwendet.
Wobei Hover-Spielereien eigentlich platformunabhängig stören. Das ist ja etwa das Schöne an Bootstrap, dass sich da jemand zumindest irgendwelche Gedanken gemacht hat und das es so überall so einigermaßen nutzbar ist.