[TYPO3-german] Eigene Condition mit userFunc scheint nicht ausgeführt zu werden

JCL - Johannes C. Laxander jc at laxander.com
Mon Aug 20 18:20:01 CEST 2012


Sonne & Hitze trocknen das Hirn aus... ;-)

Es lag am Eintrag in der localconf.php. So hat's funktioniert :)

require_once(PATH_site.'/fileadmin/templates/mobile/user_isMobile.php');

Johannes.



> JCL - Johannes C. Laxander
> Gesendet: Montag, 20. August 2012 18:05
> 
> Hallo Ephraim,
> 
> vielen Dank für deinen Beispielcode, den ich gerne übernommen habe.
> 
> Nun gibt es beimir aber ein neue Problem, das wohl mit PHP zu tun hat.
> 
> Warning: 
> require_once(fileadmin/templates/mobile/user_isMobile.php) 
> [function.require-once]: failed to open stream: No such file 
> or directory in 
> /<projektverzeichnispfad>/typo3conf/localconf.php on line 2
> 
> Fatal error: require_once() [function.require]: Failed 
> opening required 
> 'fileadmin/templates/mobile/user_isMobile.php' 
> (include_path='.:/usr/local/lib/php') in 
> /<projektverzeichnispfad>/typo3conf/localconf.php on line 2
> 
> Was läuft hier noch falsch (bin nicht sehr PHP-erfahren)???
> 
> Gruß, Johannes.
> 
> 
> > Ephraim Härer
> > Gesendet: Sonntag, 19. August 2012 10:14
> > 
> > Also ich habe eine user_isMobile bei mir wie folgt laufen:
> > 
> > In der localconf.php ganz oben mit 
> "require_once('user_mobile.php');" 
> > eingebunden.
> > 
> > Datei user_mobile.php sieht so aus:
> > function user_isMobile()
> > {
> >      return t3lib_div::_GET('showMobile') ||
> >          
> > preg_match('/(iPhone|iPod|IEMobile|Android|SDA|Portable|Opera
> > Mini|Nokia|PSP|LG|LGE|Vodafone|T-Mobile|Palm|Pocket|PDA|Avantg
> o|Handheld|WAP|Smartphone|Blackberry|NetFront|Windows
> > CE|MIDP|UP\.Browser|Symbian)/',$_SERVER['HTTP_USER_AGENT']);
> > }
> > 
> > Verwendung in TypoScript:
> > [userFunc = user_isMobile]
> > page.includeCSS {
> > 	file1 = fileadmin/templates/css/mobile.css
> > 	file1.media = screen
> > }
> > [global]
> > 
> > 
> > Das funktioniert bei mir in TYPO3 4.5 ohne Probleme.
> > 
> > Vielleicht hilft das weiter.
> > Stammt übrigens aus einem Artikel der t3n von Patrick Lobacher: 
> > http://t3n.de/magazin/jquery-mobile-typo3-mobilen-website-mobi
> le-typo3-226216/
> > 
> > Gruß
> > Ephraim
> > 
> > 
> > 
> > Am 18.08.2012 19:56, schrieb Thomas P.:
> > > schade, so letzter Strohalm:
> > > möglichweise muss man noch bei all configuration im install modul 
> > > etwas anpassen. kam mir grad noch so in den hinterkopf.
> > > sonst weiß ich auch nicht mehr weiter :(
> > >
> > > Am 18.08.2012 13:35, schrieb JCL - Johannes C. Laxander:
> > >> Hallo Thomas,
> > >>
> > >> leider hat dein Tipp nicht geholfen. Ich denke, dass dein
> > Konstrukt
> > >> dafür gedacht ist, mehrere Conditions innerhalb einer 
> PHP-Funktion 
> > >> abzuhandeln.
> > >>
> > >> Trotzdem Danke für deine Hilfe.
> > >>
> > >> Johannes.
> > >>
> > >>> -----Ursprüngliche Nachricht-----
> > >>> Von: typo3-german-bounces at lists.typo3.org
> > >>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag
> > von Thomas P.
> > >>> Gesendet: Samstag, 18. August 2012 11:36
> > >>> An: German TYPO3 Userlist
> > >>> Betreff: Re: [TYPO3-german] Eigene Condition mit 
> userFunc scheint 
> > >>> nicht ausgeführt zu werden
> > >>>
> > >>> ich glaube, damit eine userfunc in der condition greift 
> muss diese
> > >>>
> > >>> user_match heißen
> > >>>
> > >>> also in deinem fall:
> > >>> |[userFunc = user_match(isMobile)]| ...| [end]
> > >>>
> > >>> |
> > >>> |function| |user_match(||$cmd||) { |
> > >>> |||switch||(||$cmd||) { |
> > >>> |||case| |'isMobile'||: |
> > >>> |||
> > >>> |
> > >>> |              ... prüfe ... mobiles zeugs ......|
> > >>> |||break||; |
> > >>> |||
> > >>> |
> > >>>
> > >>> |}
> > >>>
> > >>> für weitere Fälle mehr case 'irgendwas' einfügen..
> > >>>
> > >>> Quelle:
> > >>> http://www.typo3-tutorials.org/tutorials/typoscript/userfunc-e
> > >> igene-condition.html
> > >>> |
> > >>>
> > >>>
> > >>>
> > >>> Am 17.08.2012 17:53, schrieb JCL - Johannes C. Laxander:
> > >>>> Hallo,
> > >>>>
> > >>>> das Debuggen hat mir neue Erkenntnisse gebracht.
> > >>>>
> > >>>> user_isMobile() liefert im Ergebnis FALSE (0). Trotzdem
> > >>> wird der TRUE-Zweig ausgeführt bzw. es wird mobile.css
> > ausgegeben. 
> > >>> Ist die Condition falsch geschrieben?
> > >>>> [userFunc = user_isMobile()]
> > >>>>      page.includeCSS {
> > >>>>         file1 = fileadmin/templates/css/mobile.css
> > >>>>         file1.media = handheld
> > >>>>      }
> > >>>> [else]
> > >>>>      page.includeCSS {
> > >>>>         file1 = fileadmin/templates/css/styles.css
> > >>>>         file1.media = screen
> > >>>>      }
> > >>>> [global]
> > >>>>
> > >>>>
> > >>>> Johannes.
> > >>>>> JCL - Johannes C. Laxander
> > >>>>> Gesendet: Freitag, 17. August 2012 15:18
> > >>>>>
> > >>>>> Danke Chris, dann geh' ich mal auf die Suche...
> > >>>>>
> > >>>>> Gruß, Johannes.
> > >>>>>
> > >>>>>> -----Ursprüngliche Nachricht-----
> > >>>>>> Von: typo3-german-bounces at lists.typo3.org
> > >>>>>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag
> > >>>>> von Christian
> > >>>>>> Wolff
> > >>>>>> Gesendet: Freitag, 17. August 2012 14:44
> > >>>>>> An: typo3-german at lists.typo3.org
> > >>>>>> Betreff: [TYPO3-german] Re: Eigene Condition mit
> > userFunc scheint
> > >>>>>> nicht ausgeführt zu werden
> > >>>>>>
> > >>>>>> Hi johannes,
> > >>>>>> ja natürlich kannst du deine funktion mit den üblichen typo3 
> > >>>>>> werkzeugen debuggen.
> > >>>>>> z.b t3lib_div:devLog() da kann deine funktion dann schön
> > >>>>> ausgeben zu
> > >>>>>> welchem ergebniss sie gekommen ist.
> > >>>>>>
> > >>>>>> gruss chris
> > >>>>>>
> > >>>>>>
> > >>>>>> Am 17.08.2012 14:35, schrieb JCL - Johannes C. Laxander:
> > >>>>>>> Ist es möglich, den Rückgabewert von user_isMobile zu
> > >>>>>> debuggen? Meine Condition sieht so aus:
> > >>>>>>> [userFunc = user_isMobile()]
> > >>>>>>> page.includeCSS {
> > >>>>>>>     file1 = fileadmin/templates/css/mobile.css
> > >>>>>>>     file1.media = handheld
> > >>>>>>> }
> > >>>>>>> [else]
> > >>>>>>> page.includeCSS {
> > >>>>>>>     file1 = fileadmin/templates/css/styles.css
> > >>>>>>>     file1.media = screen
> > >>>>>>> }
> > >>>>>>> [global]
> > >>>>>>>
> > >>>>>>> Johannes.
> > >>>>>>>
> > >>>>>>>> JCL - Johannes C. Laxander
> > >>>>>>>> Gesendet: Freitag, 17. August 2012 13:07
> > >>>>>>>>
> > >>>>>>>> Hi Chris,
> > >>>>>>>>
> > >>>>>>>> danke für deine Antwort. Cache definitiv gelöscht!
> > >>>>>>>>
> > >>>>>>>> Wo in "Backend configuration"?
> > >>>>>>>>
> > >>>>>>>> Die Function heißt: user_isMobile()
> > >>>>>>>>
> > >>>>>>>> Gruß, Johannes.
> > >>>>>>>>
> > >>>>>>>>> Christian Wolff
> > >>>>>>>>> Gesendet: Freitag, 17. August 2012 12:50
> > >>>>>>>>>
> > >>>>>>>>> Hi Johannes,
> > >>>>>>>>> configurations Cache Gelöscht?
> > >>>>>>>>> typo3 cached die zusammen gesetzten local conf in einer
> > >>>>>> temp datei.
> > >>>>>>>>> ansonsten schau mal in das Backend Modul configuration.
> > >>>>>>>>> da solltest du sehen ob die configuration an der
> > >>>>> richtigen stelle
> > >>>>>>>>> landet.
> > >>>>>>>>>
> > >>>>>>>>> deine userfunc sollte mit user_ beginnen. also
> > >>>>>>>>> user_myConditon() oder ähnliches.
> > >>>>>>>>>
> > >>>>>>>>> laut einem commentar von dieser seite gehts sonst nicht:
> > >>>>>>>>> http://typo3blogger.de/condition-mit-userfunc/
> > >>>>>>>>>
> > >>>>>>>>> gruss chris
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>> Am 17.08.2012 12:13, schrieb JCL - Johannes C. Laxander:
> > >>>>>>>>>> Ich muss noch mal nachfragen:
> > >>>>>>>>>>
> > >>>>>>>>>> Gibt es irgendwelche Abhängigkeiten, warum eine Condition
> > >>>>>>>>> mit UserFunc nicht greift / ausgeführt wird?
> > >>>>>>>>>> Die Datei ext_localconf.php exisiteirtr und 
> darin ist auch
> > >>>>>>>>> die Funktion definiert!
> > >>>>>>>>>> Johannes.
> > >>>>>>>>>>
> > >>>>>>>>>>> -----Ursprüngliche Nachricht-----
> > >>>>>>>>>>> Von: typo3-german-bounces at lists.typo3.org
> > >>>>>>>>>>> [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag
> > >>>>>>>> von JCL -
> > >>>>>>>>>>> Johannes C. Laxander
> > >>>>>>>>>>> Gesendet: Donnerstag, 16. August 2012 13:58
> > >>>>>>>>>>> An: 'German TYPO3 Userlist'
> > >>>>>>>>>>> Betreff: [TYPO3-german] Eigene Condition mit userFunc
> > >>>>>>>>> scheint nicht
> > >>>>>>>>>>> ausgeführt zu werden
> > >>>>>>>>>>>
> > >>>>>>>>>>> Hallo,
> > >>>>>>>>>>> ich prüfe über eine userFunc (in ext_localconf.php
> > >>>>>>>>> definiert), ob die
> > >>>>>>>>>>> Seite von einem mobilen Endgerät aufgerufen wird und
> > >>>>> lade dann
> > >>>>>>>>>>> entsprechen ein aderes CSS-File. Nachdem es unter der
> > >>>>>>>> Test-Domain
> > >>>>>>>>>>> einwandfrei funktioniert hat, habe ich die Änderungen
> > >>>>>>>> auch in die
> > >>>>>>>>>>> Live-Umgebung übernommen und hier greift die userFunc
> > >>>>>>>>> plötzlich nicht
> > >>>>>>>>>>> mehr. Es scheint, als würde die Funktion gar nicht
> > >>>>>>>>> ausgeführt, denn i
> > >>>>>>>>>>> ch habe testhalber den Rückgabewert 
> grundsätzlich auf TRUE
> > >>>>>>>>> gesetzt,
> > >>>>>>>>>>> so dass eigentlich immer das Mobile-CSS geladen werden
> > >>>>>>>>> müsste. Aber
> > >>>>>>>>>>> im Quellcode ist immer nur das "normale" CSS 
> eingebunden.
> > >>>>>>>>>>> Hat irgendwer eine Idee woran das liegen könnte?
> > >>>>>>>>>>> Gruß, Johannes.
> > >>>>>>>>>>> _______________________________________________
> > >>>>>>>>>>> TYPO3-german mailing list
> > >>>>>>>>>>> TYPO3-german at lists.typo3.org
> > >>>>>>>>>>> 
> > http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> > >>>>>>>>>>>
> > >>>>>>>>> _______________________________________________
> > >>>>>>>>> TYPO3-german mailing list
> > >>>>>>>>> TYPO3-german at lists.typo3.org 
> > >>>>>>>>> 
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> > >>>>>>>>>
> > >>>>>>>> _______________________________________________
> > >>>>>>>> TYPO3-german mailing list
> > >>>>>>>> TYPO3-german at lists.typo3.org
> > >>>>>>>> 
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> > >>>>>>>>
> > >>>>>> _______________________________________________
> > >>>>>> TYPO3-german mailing list
> > >>>>>> TYPO3-german at lists.typo3.org
> > >>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> > >>>>>>
> > >>>>> _______________________________________________
> > >>>>> TYPO3-german mailing list
> > >>>>> TYPO3-german at lists.typo3.org
> > >>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> > >>>>>
> > >>>> _______________________________________________
> > >>>> TYPO3-german mailing list
> > >>>> TYPO3-german at lists.typo3.org
> > >>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> > >>> _______________________________________________
> > >>> TYPO3-german mailing list
> > >>> TYPO3-german at lists.typo3.org
> > >>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> > >>>
> > >> _______________________________________________
> > >> TYPO3-german mailing list
> > >> TYPO3-german at lists.typo3.org
> > >> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> > >
> > 
> > 
> > --
> > Mit freundlichen Grüßen
> > Ephraim Härer
> > _______________________________________________
> > TYPO3-german mailing list
> > TYPO3-german at lists.typo3.org
> > http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> > 
> 
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> 



More information about the TYPO3-german mailing list