Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Hallo und willkommen,
was du bisher gemacht hast hört sich erstmal logisch an. Ich habe das leider noch nicht versucht und kann daher keine Tipps aus der Praxis nennen, hätte aber eine Idee: Um möglichen Komplikationen aus dem Weg zu gehen könntest du auf der Domain für mobile Geräte einen Cookie setzen und im Forum abfragen, ob dieser existiert. Falls ja, wird das mobile Theme geladen. Dadurch würdest du allen Komplikationen bezüglich der URL aus dem Weg gehen.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Ich sehe auch Probleme bei Links in den Beiträge. Nicht, dass dann kreuz und quer verlinkt wird...
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 89
Themen: 3
Registriert seit: 18.01.2011
MyBB-Version: 1.6.1
18.01.2011, 22:06
(Dieser Beitrag wurde zuletzt bearbeitet: 18.01.2011, 22:08 von RedParkz.)
Das problem mit den links habe ich bereits per plugin gelöst. Dabei setze ich folgenden hook:
$plugins -> add_hook('parse_message','staymobile_fixlinks');
der code der fixelinks:
PHP-Code:
function staymobile_fixlinks($m){
if($_SERVER["SERVER_NAME"] == "m.theandroidblog.de")
{
$m = preg_replace('|http://theandroidblog.de|i', 'http://m.theandroidblog.de', $m);
$m = preg_replace('|object type="application/x-shockwave-flash" (.*?) value="http\://www\.youtube\.com/v/(.*?)"(.*?)object|smi', '<a href="http://www.youtube.com/watch?v=$2&feature=player_embedded">YouTube Video Link</a>', $m);
}
else
{
$m = preg_replace('|http://m.theandroidblog.de|i', 'http://theandroidblog.de', $m);
}
return $m;
}
Das klappt auch gut und die User bleiben immer in der entsprechenden Domain. Der zweite preg_replace ersetzt nur die Ausgabe des mybb youtube-codes durch links, da eingebettete Videos das "Design sprengen"
Beiträge: 89
Themen: 3
Registriert seit: 18.01.2011
MyBB-Version: 1.6.1
So, hab mich nun ein wenig in die Cookie-Thematik eingelesen (ist Neuland für mich)
Wenn ich das alles richtig verstanden habe, dann müsste ich, sollte ein User per mobile-sub auf die Seite kommt, ein cookie erzeugen.
PHP-Code:
setcookie("usemobile","1",time()+(3600*24));
bei der Themeauswahl überprüfe ich das cookie auf den entsprechenden Wert. Dazu auslesen mit
PHP-Code:
$cookie = $_COOKIE["usemobile"];
und dann per if-abfrage das theme zuweisen. Sollte der User auf die normale Version wechseln dann kann ich das cookie löschen oder eben umschreiben
PHP-Code:
setcookie("usemobile","",time() - 3600); bzw setcookie("usemobile","0",time()+(3600*24));
Was ich mich nun frage, wie soll mir das Cookie beim Problem der URLs helfen. Die Breadcrumb, Suchergebnisse etc werden doch weiterhin unter Zuhilfenahme der mybb->settings['bburl'] erstellt und damit sind auch die Links im Theme zum Teil noch "ohne" die m-subdomain. Daher würde man bei entsprechenden Links auch wieder in der normalen Version landen. Per Cookie werde ich die bburl ja nicht überschreiben/anpassen können, das holen sich die einzelnen Funktionen ja weiterhin über mybb->settings['bburl']. Vielleicht steh ich aber auch auf dem Schlauch und übersehe etwas grundsätzliches bei der Funktionsweise Cookies/mybb. Derzeit scheint mir daher das Zuweisen der bburl in der Global der Weg mit den geringsten Änderungen zu sein und daher auch mit dem geringsten Update-Aufwand.
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Welches Theme verwendet wird, wird ja in der global.php festgelegt. Und du hast es richtig beschrieben: Wenn das Cookie existiert, gibst du Theme x vor, ansonsten nicht. Vorteil dieser Variante ist, dass du nicht 2 verschiedene URLs benötigst und somit beide Versionen der Webseite unter der gleichen URL erreichbar sind.
* User ruft m.domain.tld auf -> Cookie wird gesetzt -> User wird weitergeleitet zu domain.tld -> da Cookie existiert, wird das mobile Theme benutzt.
* User ruft domain.tld auf -> kein Cookie, deshalb normales Theme.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 89
Themen: 3
Registriert seit: 18.01.2011
MyBB-Version: 1.6.1
19.01.2011, 21:23
(Dieser Beitrag wurde zuletzt bearbeitet: 19.01.2011, 21:36 von RedParkz.)
achso
dann haben wir wohl aneinander vorbeigeredet. die subdomain würde ich gerne behalten, die ist auch schon länger im Einsatz. Das vorherige mobile Theme war aber vom Funktionsumfang viel geringer und daher war dort auch das meiste egal bzw. wurde mit kleinen Code-Anpassungen erledigt. Das Neue ist da schon um einiges "kompletter" und soll auch mobile den vollen Zugriff auf die Optionen gewähren.
Ich werde die aktuelle Methode jetzt einfach mal testen. Sollte es zu Problemen kommen, dann kann ich immer noch die cookie-methode aufgreifen. Alternativ könnte ich dann auch mal auf den user-agent abfragen und anhand diesem ein entsprechendes Theme schalten.
Edit: Fast vergessen. Danke für den netten Support und die hilfreichen Hinweise