Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Mobile zur nonmobilen Seite umleiten mit render-type

      
  1. #1
    Forum Aktivist
    Registriert seit
    28.08.2009
    Beiträge
    87

    Frage Mobile zur nonmobilen Seite umleiten mit render-type

    Hallo Community,

    ich habe für meine mobile TYPO3-Seite einen neuen Render-type hinzugefügt, der "mobile" heißt. Jetzt kann ich mit Templavoila nun auch diese Seite ansteuern. Das ganze baut auf der Anleitung von Dmitry Dulepov auf.

    Da ich aber noch ein Neuling in Sachen TYPO3 bin, weiß ich nicht, mit welchem Link ich die normale Version aufrufen kann, wenn über die USERFUNC das mobile Template ausgewählt wurde. Bisher sieht mein TypoScript so aus:

    plugin.tx_templavoila_pi1.childTemplate = USERFUNC:user_mobile->getChildTemplate
    plugin.tx_templavoila_pi1.childTemplate.value = mobile

    page = PAGE
    page.typeNum = 0

    page.config {
    #...
    }

    page.bodyTag = <body>
    page.10 < plugin.tx_templavoila_pi1
    page.10.userFunc = tx_templavoila_pi1->main_page
    #######################
    [userFunc = user_isMobile]
    #...TS für mobile Seite
    #######################
    [ELSE]
    #....TS für normale SeiteDer Hintergrund ist, dass ich auf meiner mobilen Seite einen Link haben möchte, der zur Desktopversion umleitet.


    mfG

  2. #2
    Forum Stammgast
    Registriert seit
    01.09.2006
    Ort
    Grafenwöhr
    Alter
    36
    Beiträge
    465
    Du möchtest vom Handy aus über einen Link die Desktop Version aufrufen?

    MFG Anderl

  3. #3
    Forum Aktivist
    Registriert seit
    28.08.2009
    Beiträge
    87
    Ja genau, damit man wenn man ein Highend Smartphone hat auf nichts zerzichten muss.

  4. #4
    Forum Newbie
    Registriert seit
    25.11.2010
    Ort
    Wien
    Alter
    34
    Beiträge
    47
    Hi,

    ich habe dafür die userFunc die den UserAgent überprüft um einen GET-Parameter und eine Session-Variable erweitert.

    PHP-Code:
    /* 
     * mobileversion = 1 zeigt mobile Version an
     * mobileversion = 2 zeigt normale Browserversion an
     * ansonsten User Agent detection
     * @return true für mobile, false für normale Version 
     */
    if (!function_exists('user_check_client')) {
        function 
    user_check_client() {
            
    $TSFE $GLOBALS["TSFE"];
            
    $mobile false;
            
            
    $getvar = (int)$_GET['mobileversion'];
            
            if (
    $getvar == 1
            {
                
    $mobile true;
            }
            else if (
    $getvar == 2)
            {
                
    $mobile false;
            }
            else
            {
                
    $sessionvar 0;
                if (
    $GLOBALS["TSFE"] != null){
                    
    $sessionvar $GLOBALS["TSFE"]->fe_user->getKey('ses','mobileversion');    
                }
                if (
    $sessionvar == 1)
                {
                    
    $mobile true;
                }
                else if (
    $sessionvar == 2)
                {
                    
    $mobile false;
                }
                else
                {
                    
    //User Agent Abfrage
                    
    $mobile preg_match('/(iPhone|Android|IEMobile|Windows CE|NetFront|PlayStation|PLAYSTATION|like Mac OS X|MIDP|UP\.Browser|Symbian|Nintendo)/'$_SERVER['HTTP_USER_AGENT']);    
                }
            }
            
            
    //Session Variable speichern
            
    if ($mobile==true)
            {
                if (
    $GLOBALS["TSFE"] != null){
                    
    $GLOBALS["TSFE"]->fe_user->setKey('ses','mobileversion',1);
                }
            }
            else
            {
                if (
    $GLOBALS["TSFE"] != null){
                    
    $GLOBALS["TSFE"]->fe_user->setKey('ses','mobileversion',2);
                }
            }
                
            if (
    $GLOBALS["TSFE"] != null){
                
    $GLOBALS["TSFE"]->fe_user->storeSessionData();
            }
            
                    
            return 
    $mobile;
        }

    Über einen Link im Footer (zur mobilen Version, zur Vollversion) kann man den GET-Parameter an die momentane URL anhängen:


    FOOTER_VOLLVERSION = TEXT
    FOOTER_VOLLVERSION {
    value = Vollversion der Website
    typolink {
    parameter.data = TSFE:id
    addQueryString = 1
    addQueryString.method = GET
    additionalParams =&mobileversion=2

    }
    }


    Damit kann ich umschalten, indem ich an die URL &mobileversion=1 oder 2 anhänge. Und es wird auch weiterhin gespeichert, dass ich nicht im iphone beim nächsten Navigationspunkt wieder umschalten muss.

    Vorteil der Session-Variable: kann man auch in einer Extension abfragen:
    PHP-Code:
    if ($TSFE->fe_user->getKey('ses','mobileversion') == 1)
    {
        
    $this->mobile true;

    LG Andrea

  5. #5
    Forum Newbie
    Registriert seit
    17.08.2011
    Beiträge
    18
    Vielen Dank Andrea!

  6. #6
    Forum Newbie
    Registriert seit
    10.11.2010
    Beiträge
    14
    Zitat Zitat von aschmutt Beitrag anzeigen
    Hi,

    ich habe dafür die userFunc die den UserAgent überprüft um einen GET-Parameter und eine Session-Variable erweitert.

    [PHP]
    /*
    * mobileversion = 1 zeigt mobile Version an
    * mobileversion = 2 zeigt normale Browserversion an
    * ansonsten User Agent detection
    * @return true für mobile, false für normale Version
    */
    if (!function_exists('user_check_client')) {
    function user_check_client() {
    $TSFE = $GLOBALS["TSFE"];
    $mobile = false;

    ......

    LG Andrea

    Hallo erstmal,
    da ich php technisch nicht so bewandert bin hätte ich eine Frage.

    Ich baue die mobile Version über

    [userFunc = user_isMobile]
    <INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/mobile/mobile.txt">


    [end]

    und eine PHP Datei die in der localconf importiert wird ein.

    function user_isMobile() {
    return t3lib_div::_GET('forceMobile') ||
    preg_match('/(iPhone|iPod|iPad|IEMobile|Android|Blackberry|Palm|NetFront|Windows CE|MIDP|UP\.Browser|Symbian)/', $_SERVER['HTTP_USER_AGENT']);
    }


    Was muss ich nun tun, um deinen Code zum laufen zu bringen??
    Ihn in die php eintragen geht zwar, aber er macht mir einfach immer dann die "...?mobileversion=2" Endung.

    Grüße aus dem sonnigen Erding

    Jürgen

  7. #7
    Forum Aktivist
    Registriert seit
    28.08.2009
    Beiträge
    87
    Dein PHP-Code ist nicht vollständig.

    Danach sollte es laufen. Wenn du mit nem anderen Template arbeiten willst: Tutorial: Erstellen einer Mobile Version für Ihre Website mit TYPO3 & TemplaVoila | typo3-book.com

  8. #8
    Forum Newbie
    Registriert seit
    10.11.2010
    Beiträge
    14

    Danke... aber

    ich benutze gar kein Template Voila. :-)

  9. #9
    Forum Aktivist
    Registriert seit
    28.08.2009
    Beiträge
    87
    Ja, dann musste nur wie du schon geschrieben hast, das vollständige php-Script in die localconf einbinden und über die genannte Userfunc-Condition dein TypoScript-Template ändern.

    Dann mal über ein Mobile Device reingucken, obs funktioniert ;)

  10. #10
    Forum Newbie
    Registriert seit
    10.11.2010
    Beiträge
    14
    wonach sollte es laufen??

 

 
Seite 1 von 2 12 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Facebook Kommentare

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 10.09.2009, 11:46
  2. Mobile Version rendern
    Von Anderl im Forum TYPO3 4.x Fragen und Probleme
    Antworten: 7
    Letzter Beitrag: 10.09.2009, 11:03
  3. Wenn Seite X dann Text Y
    Von cyRus-tC im Forum TYPO3 4.x Fragen und Probleme
    Antworten: 4
    Letzter Beitrag: 06.01.2007, 20:47
  4. Indexed Search - Aktuelle Seite hervorheben?
    Von boomer im Forum Indexed Search
    Antworten: 1
    Letzter Beitrag: 28.02.2006, 16:12
  5. Zugriffsgeschützte Seite - ID über GLOBALS auslesen
    Von milhouse im Forum TYPO3 3.x Fragen und Probleme
    Antworten: 0
    Letzter Beitrag: 31.01.2006, 10:37

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238