Probleme mit userFunc
| Autor | Nachricht |
|---|---|
|
Verfasst am: 09. 01. 2012 [14:23]
|
|
|
TheFreeman
Themenersteller
Dabei seit: 08.07.2006
Beiträge: 444
|
Hallo, ich habe Probleme mit meiner userFunc. Ich möchte gerne Mobile-Geräte auf eine seperate PID umleiten. Dazu habe ich in die localconf.php folgende Funktion eingebaut: PHP function user_checkMobile() {
if(preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge|
maemo|midp|mmp|mobile safari|opera mini|opera m(ob|in)i|palm(os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up
\.(browser|link)|vodafone|wap|linux|windows(ce|phone)|xda|xiino/i',$_SERVER['HTTP_USER_AGENT']) ||
preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|awa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|
ar(ch|go)|as(te|us)|attw|au(di|\-m|r|s)|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm
\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|
\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1u|g560|gene|gf
\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(i|ip)|hs\-c|ht(c(\-|
|_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(|
\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(|\/)|klon|kpt
|kwc\-|kyo(c|k)|le(no|xi)|lg(g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m
\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-||o|v)|zz)|mt(50|p1|v)|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|
5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|
\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i
\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh
\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v)|sy(01|mb)|t2(18|50)|t6(00|10|1<img src="typo3conf/ext/mm_forum//res/smilies/icon_cool.gif" alt="icon_cool.gif" />|ta(gt|lk)|tcl
\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|
\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|9<img src="typo3conf/ext/mm_forum//res/smilies/icon_cool.gif" alt="icon_cool.gif" />|w3c(\-|)|webc|whit|wi(g|nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas
\-|your|zeto|zte\-/i',substr($_SERVER['HTTP_USER_AGENT'],0,4)))
{
header('Location: http://www.meinedomain.de/mobile.html');
}
}Im Root-Setup steht: TYPOSCRIPT [userFunc = user_checkMobile] # tu nichts! [end] Der Filter funktioniert super. Nur leitet das System im LOOP auf die Seite mit der PID 30 (mobile.html). Aber auf der PID 30 liegt ein weiteres ROOT-Template, wo im Setup NICHTS von der userFunc auftaucht. daher verstehe ich das nicht, warum das so ist. Ich kann keinen Fehler finden. Bin am verzweifeln. [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 09.01.2012 um 14:24.] Je mehr ich weiss, desto mehr weiss ich, wie wenig ich weiss.
|
|
Verfasst am: 09. 01. 2012 [15:34]
|
|
|
LuP
Dabei seit: 12.04.2007
Beiträge: 270
|
Hallo, es sieht so aus, als ob das Template von ROOT vererbt wird. Versuch mal bitte in den Seiteneigenschaften von der Seite PID 30, unter Options > Clear: Constants und Setup beide Haken zu setzen. VG, LuP [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 09.01.2012 um 15:35.] |
|
Verfasst am: 09. 01. 2012 [16:54]
|
|
|
TheFreeman
Themenersteller
Dabei seit: 08.07.2006
Beiträge: 444
|
Hi, also clear constants, clear setup & wurzelebene ist aktiviert. Das ist auch der Grund, warum ich nicht weiter weiss. LG Daniel Je mehr ich weiss, desto mehr weiss ich, wie wenig ich weiss.
|
|
Verfasst am: 09. 01. 2012 [23:57]
|
|
|
Chrissli
Dabei seit: 19.04.2010
Beiträge: 295
|
Boah, die RegExp ist ja dicke, und die funktionoert (oO) ?? Egal, schau doch mal unter Templates im ObjectBrowser der Unterseite das Setup durch, ob hier vielleicht doch etwas geerbt wird God's in his Heaven -
All's right with the world! |
|
Verfasst am: 12. 01. 2012 [09:38]
|
|
|
igorshmigor
Dabei seit: 17.03.2006
Beiträge: 888
|
Versuch mal TYPOSCRIPT [userFunc = user_checkMobile()] also mit Klammern am Ende. |
|
Verfasst am: 12. 01. 2012 [10:19]
|
|
|
TheFreeman
Themenersteller
Dabei seit: 08.07.2006
Beiträge: 444
|
Danke für den Tip. Habe jetzt aber einfach meine Lösung weggeschmissen und mir die Extension cwmobileredirect installiert und Ihr werdet es nicht glauben, aber auch hier entsteht ein Loop. ![]() Also muss der Fehler woanders liegen. Ich finde den aber nicht. Bitte um Hilfe. Je mehr ich weiss, desto mehr weiss ich, wie wenig ich weiss.
|
|
Verfasst am: 12. 01. 2012 [10:37]
|
|
|
igorshmigor
Dabei seit: 17.03.2006
Beiträge: 888
|
Ach wie dumm von mir, habe die Frage zu schnell überflogen und falsch verstanden. Hast Du im TS-Setup der Seite mobile.html auch simulatestatic aktiviert? |
|
Verfasst am: 12. 01. 2012 [10:52]
|
|
|
TheFreeman
Themenersteller
Dabei seit: 08.07.2006
Beiträge: 444
|
Nein, ich benutze realURL, daher habe ich folgende Konfig: config.simulateStaticDocuments = 0 Je mehr ich weiss, desto mehr weiss ich, wie wenig ich weiss.
|
|
Verfasst am: 12. 01. 2012 [11:03]
|
|
|
igorshmigor
Dabei seit: 17.03.2006
Beiträge: 888
|
Naja gut, dann halt RealURL. Hast Du auf der Seite mobile.html realurl aktiviert? Hast Du schonmal die Weiterleitungs-Extension und -Script weggelassen und geschaut, ob die URL dann korrekt aufgerufen werden kann? Nicht dass die Seite aufgrund falscher URL-Konfiguration nicht gefunden wird und dann deshalb immer wieder auf eine Fehlerseite umgeleitet wird (oder je nach Standardkonfiguration die Startseite) und diese wieder versucht auf die mobile.html weiterzuleiten usw. |
|
Verfasst am: 12. 01. 2012 [11:30]
|
|
|
TheFreeman
Themenersteller
Dabei seit: 08.07.2006
Beiträge: 444
|
Hmm...nein, ohne der Extension klappen die URLs und auch die Navigation in den beiden Bereichen, wie es soll. Je mehr ich weiss, desto mehr weiss ich, wie wenig ich weiss.
|




