Seite 2 von 2 ErsteErste 12
Ergebnis 41 bis 79 von 79

Thema: [gelöst] $this->Environment->agent->mobile ist immer NULL

  1. #41
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Was genau steht jetzt exakt an der Stelle, die das NULL erzeugt? Kannst du das bitte noch ergänzen?
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  2. #42

  3. #43
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Ich denke er meint was für einen PHP Code du jetzt verwendest hast für diese Ausgabe.

  4. #44
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Notiz an mich selbst: Detaillierter formulieren

    @Grossvater
    Ich meinte damit natürlich im Template!
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  5. #45
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    PHP-Code:
    <?php var_dump(\Environment::get('agent')->mobile);?>

  6. #46
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    HTML-Code:
                    <li class="sibling"><a href="datenschutzerklaerung" title="Datenschutzerklärung" class="sibling" rel="nofollow" role="menuitem">Datenschutzerklärung</a></li>
                    <li class="sibling last"><a href="disclaimer" title="Disclaimer" class="sibling last" rel="nofollow" role="menuitem">Disclaimer</a></li>
          </ul>
    
    		<a id="skipNavigation33" class="invisible">&nbsp;</a>
    
    	</nav>
    <!-- indexer::continue -->
    
    <div class="contained">
    	<div class="container">
    		<!-- indexer::stop -->
    NULL <-------------------------------------------------------- Hier
    <div class="row">
        <div class="col-xs-12">
            <div class="float_right">
    	        <ul class="unstyled shortKeys">
    		        <li class="phoneNumber"><a href="tel:+493475-61437100"><span class="icon-phone"></span>  03475 - 61437100</a></li>
    		        <li class="quicksupport"><a title="Fernsupport starten" href="http://www.pcvisit.de/fileadmin/software/pcvisit_Support_15_Kunden_Modul.exe">PC Visit herunterladen</a></li>
    	        </ul>
            </div>
        </div>
    </div>

  7. #47
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Füge mal in der /system/modules/core/library/Contao/Environment.php in Zeile 501 ein
    PHP-Code:
    var_dump$ua );
    var_dump( \Config::get('os') ); 
    ein.

  8. #48
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Also wenn ich mir so die Enivormentklasse ansehe, kann dieser Wert garnicht NULL werden, da er Standardmäßig auf "false" gesetzt ist und nur im Falle eines Match auf true gesetzt wird. Ich vermute hier ja eine andere Erweiterung die hier die Finger im Spiel hat.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  9. #49
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    done

  10. #50
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    poste mal bitte den Inhalt der Datei /system/config/agents.php

    Ach shit, das hatten wir ja bereits auf Seite 1
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  11. #51
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    PHP-Code:
    <?php

    /**
     * Contao Open Source CMS
     *
     * Copyright (c) 2005-2016 Leo Feyer
     *
     * @license LGPL-3.0+
     */


    /**
     * Operating systems (check Windows CE before Windows and Android before Linux!)
     */
    $GLOBALS['TL_CONFIG']['os'] = array
    (
        
    'Macintosh'     => array('os'=>'mac',        'mobile'=>false),
        
    'Windows CE'    => array('os'=>'win-ce',     'mobile'=>true),
        
    'Windows Phone' => array('os'=>'win-ce',     'mobile'=>true),
        
    'Windows'       => array('os'=>'win',        'mobile'=>false),
        
    'iPad'          => array('os'=>'ios',        'mobile'=>false),
        
    'iPhone'        => array('os'=>'ios',        'mobile'=>true),
        
    'iPod'          => array('os'=>'ios',        'mobile'=>true),
        
    'Android'       => array('os'=>'android',    'mobile'=>true),
        
    'BB10'          => array('os'=>'blackberry''mobile'=>true),
        
    'Blackberry'    => array('os'=>'blackberry''mobile'=>true),
        
    'Symbian'       => array('os'=>'symbian',    'mobile'=>true),
        
    'WebOS'         => array('os'=>'webos',      'mobile'=>true),
        
    'Linux'         => array('os'=>'unix',       'mobile'=>false),
        
    'FreeBSD'       => array('os'=>'unix',       'mobile'=>false),
        
    'OpenBSD'       => array('os'=>'unix',       'mobile'=>false),
        
    'NetBSD'        => array('os'=>'unix',       'mobile'=>false),
    );


    /**
     * Browsers (check OmniWeb and Silk before Safari and Opera Mini/Mobi before Opera!)
     */
    $GLOBALS['TL_CONFIG']['browser'] = array
    (
        
    'MSIE'       => array('browser'=>'ie',           'shorty'=>'ie''engine'=>'trident',  'version'=>'/^.*MSIE (\d+(\.\d+)*).*$/'),
        
    'Trident'    => array('browser'=>'ie',           'shorty'=>'ie''engine'=>'trident',  'version'=>'/^.*Trident\/\d+\.\d+; rv:(\d+(\.\d+)*).*$/'),
        
    'Edge'       => array('browser'=>'edge',         'shorty'=>'ed''engine'=>'edgehtml''version'=>'/^.*Edge\/(\d+(\.\d+)*).*$/'),
        
    'Firefox'    => array('browser'=>'firefox',      'shorty'=>'fx''engine'=>'gecko',    'version'=>'/^.*Firefox\/(\d+(\.\d+)*).*$/'),
        
    'Chrome'     => array('browser'=>'chrome',       'shorty'=>'ch''engine'=>'webkit',   'version'=>'/^.*Chrome\/(\d+(\.\d+)*).*$/'),
        
    'OmniWeb'    => array('browser'=>'omniweb',      'shorty'=>'ow''engine'=>'webkit',   'version'=>'/^.*Version\/(\d+(\.\d+)*).*$/'),
        
    'Silk'       => array('browser'=>'silk',         'shorty'=>'si''engine'=>'silk',     'version'=>'/^.*Silk\/(\d+(\.\d+)*).*$/'),
        
    'Safari'     => array('browser'=>'safari',       'shorty'=>'sf''engine'=>'webkit',   'version'=>'/^.*Version\/(\d+(\.\d+)*).*$/'),
        
    'Opera Mini' => array('browser'=>'opera-mini',   'shorty'=>'oi''engine'=>'presto',   'version'=>'/^.*Opera Mini\/(\d+(\.\d+)*).*$/'),
        
    'Opera Mobi' => array('browser'=>'opera-mobile''shorty'=>'om''engine'=>'presto',   'version'=>'/^.*Version\/(\d+(\.\d+)*).*$/'),
        
    'Opera'      => array('browser'=>'opera',        'shorty'=>'op''engine'=>'presto',   'version'=>'/^.*Version\/(\d+(\.\d+)*).*$/'),
        
    'IEMobile'   => array('browser'=>'ie-mobile',    'shorty'=>'im''engine'=>'trident',  'version'=>'/^.*IEMobile (\d+(\.\d+)*).*$/'),
        
    'Camino'     => array('browser'=>'camino',       'shorty'=>'ca''engine'=>'gecko',    'version'=>'/^.*Camino\/(\d+(\.\d+)*).*$/'),
        
    'Konqueror'  => array('browser'=>'konqueror',    'shorty'=>'ko''engine'=>'webkit',   'version'=>'/^.*Konqueror\/(\d+(\.\d+)*).*$/')
    );

  12. #52
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Hab dir ne PN geschickt. Muss ich mir direkt ansehen, hier rumzuprobieren hilft ja irgendwie nix
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  13. #53
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Also ich hab jetzt mal über eine Stunde getestet.

    Im Template fand ich folgenden Code vor:
    War wohl bezogen auf Beitrag #47 von Spooky (aber leider falsche stelle)
    PHP-Code:
    <?php
    var_dump
    (\Environment::get('agent')->mobile); 
    var_dump$ua );
    var_dump( \Config::get('os') );
    ?>
    Habe nun direkt in der Environment Klasse in der Methode agent var_dump($ua); var_dump(\Config::get('os'));die(); hinzugefügt:
    Ergebnis: Alles da (keine NULL-Werte)

    PHP-Code:
    string(73"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0"
    array(16) {
      [
    "Macintosh"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(3"mac"
        
    ["mobile"]=>
        
    bool(false)
      }
      [
    "Windows CE"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(6"win-ce"
        
    ["mobile"]=>
        
    bool(true)
      }
      [
    "Windows Phone"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(6"win-ce"
        
    ["mobile"]=>
        
    bool(true)
      }
      [
    "Windows"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(3"win"
        
    ["mobile"]=>
        
    bool(false)
      }
      [
    "iPad"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(3"ios"
        
    ["mobile"]=>
        
    bool(false)
      }
      [
    "iPhone"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(3"ios"
        
    ["mobile"]=>
        
    bool(true)
      }
      [
    "iPod"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(3"ios"
        
    ["mobile"]=>
        
    bool(true)
      }
      [
    "Android"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(7"android"
        
    ["mobile"]=>
        
    bool(true)
      }
      [
    "BB10"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(10"blackberry"
        
    ["mobile"]=>
        
    bool(true)
      }
      [
    "Blackberry"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(10"blackberry"
        
    ["mobile"]=>
        
    bool(true)
      }
      [
    "Symbian"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(7"symbian"
        
    ["mobile"]=>
        
    bool(true)
      }
      [
    "WebOS"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(5"webos"
        
    ["mobile"]=>
        
    bool(true)
      }
      [
    "Linux"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(4"unix"
        
    ["mobile"]=>
        
    bool(false)
      }
      [
    "FreeBSD"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(4"unix"
        
    ["mobile"]=>
        
    bool(false)
      }
      [
    "OpenBSD"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(4"unix"
        
    ["mobile"]=>
        
    bool(false)
      }
      [
    "NetBSD"]=>
      array(
    2) {
        [
    "os"]=>
        
    string(4"unix"
        
    ["mobile"]=>
        
    bool(false)
      }

    Lasse ich mir das fertige Objekt $return aus der Methode agent ausgeben mit var_dump($return);die(); erhalte ich:
    PHP-Code:
    object(stdClass)#12 (9) {
      
    ["string"]=>
      
    string(73"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0"
      
    ["os"]=>
      
    string(3"win"
      
    ["class"]=>
      
    string(22"win firefox gecko fx47"
      
    ["browser"]=>
      
    string(7"firefox"
      
    ["shorty"]=>
      
    string(2"fx"
      
    ["version"]=>
      
    string(2"47"
      
    ["engine"]=>
      
    string(5"gecko"
      
    ["versions"]=>
      array(
    2) {
        [
    0]=>
        
    string(2"47"
        
    [1]=>
        
    string(1"0"
      
    }
      [
    "mobile"]=>
      
    bool(false)

    Also funktioniert die Methode!!

    Lasse ich mir jedoch einfach nur per var_dump in der Methode agent das $return ausgeben (also ohne die(); am Ende) und rufe die Environementklasse im Template nocmal auf, erhalte ich einmal ein Array, welches korrekt ist und ein weiteres (aus dem Template) bei dem 'os' und 'mobile' NULL sind!
    Habe zwischenzeitlich in der localconfig den coreOnlyMode auf true geschalten. Jeglicher Cache ist ebenfalls deaktiviert.
    Dann testete ich mal mit debug_print_backtrace() und sah, dass alles ja einmal durch die InsertTags läuft. In den InsertTags gibt es ebenfalls den Aufruf des Environment::get('agent'); setz ich hier ein var_dump() mit die(); ist auch an dieser Stelle bereits alles auf NULL (os,mobile).

    Die Serverkonfiguration sieht auch gut aus. Sehr komische Sache.....
    Geändert von the_scrat (25.05.2016 um 19:52 Uhr)
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  14. #54
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    Ja, richtig. Das Template kommt per inserttag auf die Seite.
    Eventuell ein Bug?

  15. #55
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Wie exakt wird das Template per Insert Tag eingesetzt?

  16. #56
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Über {{file::support5.html}} in Modul "Eigenes HTML-Element.
    Die Datei befindet sich auch sauber im Templateverzeichnis
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  17. #57
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Und das Modul ist direkt über das Seitenlayout eingefügt? (Und ich nehme an das Template heißt support.html5?)

  18. #58
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Mit den bisher geposteten Informationen kann ich das jedenfalls noch nicht nachstellen.

    Übrigens, @Grossvater, wenn du das Template in ce_support.html5 umbenennst musst du nicht den Umweg über den Insert Tag gehen, sondern kannst das Template direkt im HTML Modul bzw. HTML Inhaltselement auswählen.

  19. #59
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Das Modul (HTML) ist über das Seitenlayout eingefügt. In diesem wird über {{file::}} das weitere Template geladen, welches dann php code enhält...... ob der Inhalt des Templates überhaupt zurückgegeben wird.
    Ich habs gerade mal ausprobiert ob es einen Unterschied macht, das Modul (HTML) direkt als Modul im Artikel zu laden. Wert bleibt aber weiterhin auf NULL

    Bzgl. der ce_* Sache geht das in dem Fall nicht, da das HTML Modul mehrere InsertTags hat und neben dem Laden der Module per InsertTags auch noch eine HTML Struktur bereitstellt.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  20. #60
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von the_scrat Beitrag anzeigen
    Das Modul (HTML) ist über das Seitenlayout eingefügt. In diesem wird über {{file::}} das weitere Template geladen, welches dann php code enhält...... ob der Inhalt des Templates überhaupt zurückgegeben wird.
    Ich habs gerade mal ausprobiert ob es einen Unterschied macht, das Modul (HTML) direkt als Modul im Artikel zu laden. Wert bleibt aber weiterhin auf NULL
    Und ohne Insert Tag? Also das Template so wie in meinem Post davor beschrieben eingebunden?

    Außerdem, im Original Post hat Grossvater erwähnt, dass der Contao Check bspw. auch die Dateien
    Code:
    vendor/autoload.php
    vendor/composer/autoload_real.php
    bemängelt, das sollte behoben werden.

  21. #61
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von the_scrat Beitrag anzeigen
    Bzgl. der ce_* Sache geht das in dem Fall nicht, da das HTML Modul mehrere InsertTags hat und neben dem Laden der Module per InsertTags auch noch eine HTML Struktur bereitstellt.
    Und welche Insert Tags sind das? Wie sieht das komplette HTML Element nun aus?

    Wir wissen zwar, dass der Fehler im coreOnlyMode auch auftritt, aber derartig eingebundener, eigener PHP Code könnte ja dennoch hinein pfuschen.

  22. #62
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Also es gibt das Modul HTML (Navibereich)

    Code:
    <div class="contained-small">
        <div class="container">
            {{file::support.html5}}
            <div class="line clearfix blue" id="header-row">
                <div id="logo-banner">
                    <a href="{{env::url}}">
                        <div><img alt="XXXXX" id="logo" src="files/assets/img/XXXXX"/></div>
                    </a>
                </div>
                <div id="header-menu">
                    <div class="right-top">
                        {{file::megamenu.html5}}
                        {{insert_module::4}}
                    </div>
                </div>
                <a id="XXX" href="#mmenu" class="open"></a>
            </div>
        </div>
    </div>
    In der support.html5 steht aktuell das hier:
    PHP-Code:
    <!-- indexer::stop -->
    <?php
    var_dump
    (\Environment::get('agent')->mobile);

    ?>
    <?php 
    if(!\Environment::get('agent')->mobile):?>
    <div class="row">
        <div class="col-xs-12">
            <div class="float_right">
                <ul class="unstyled shortKeys">
                    <li class="phoneNumber">XXX</li>
                    <li class="quicksupport">XXX</li>
                </ul>
            </div>
        </div>
    </div>
    <?php endif;?>
    <!-- indexer::continue -->
    Modul HTML ist über das Seitenlayout eingebunden, läd dann die support5.html die wiederrum versucht ganz normal die Environment Klasse zu laden. PHP Code ist übersichtlich und m.M. nicht falsch.

    Eben interessant, dass wenn ich in dieser Konstellation direkt in der Environment Klasse in der Methode agent() die Werte prüfe (per var_dump()) ist alles da. Führe ich die gleiche Anfrage übers Template aus, sind NUR die Werte für os und mobile weg, alles andere weiterhin vorhanden.

    PS: Ich hab einige Teile mal zensiert, auch wenn die Seite bekannt ist, trotzdem find ich es doof, wenn hier die Telefonnummern etc. stehen.... denn zum Schluss findet ein Kunde das Forum hier anstatt die Seite.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  23. #63
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Und wenn du
    HTML-Code:
    <div class="contained-small">
        <div class="container">
            {{file::support.html5}}
            <div class="line clearfix blue" id="header-row">
                <div id="logo-banner">
                    <a href="{{env::url}}">
                        <div><img alt="XXXXX" id="logo" src="files/assets/img/XXXXX"/></div>
                    </a>
                </div>
                <div id="header-menu">
                    <div class="right-top">
                        {{file::megamenu.html5}}
                        {{insert_module::4}}
                    </div>
                </div>
                <a id="XXX" href="#mmenu" class="open"></a>
            </div>
        </div>
    </div>
    in ein ce_whatever.html5 Template gibst und dieses Template dann im HTML Modul auswählst (und den HTML code im Modul direkt natürlich entfernst), wie ist es dann?

    Wieviele Templates befinden sich im Ordner /templates und was ist deren Inhalt?

  24. #64
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    @Spooky Contao Check sagt, dass die Installation sauber. ist.

  25. #65
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    in ein ce_whatever.html5 Template gibst und dieses Template dann im HTML Modul auswählst (und den HTML code im Modul direkt natürlich entfernst), wie ist es dann?

    Wieviele Templates befinden sich im Ordner /templates und was ist deren Inhalt?
    Im Modul HTML kann man nur mod_ Templates auswählen, keine ce_ Templates
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  26. #66
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Achso ja, dann halt mod_foo.html5 . Aber macht wahrscheinlich keinen unterschied. Was ist eigentlich das Ergebnis von
    PHP-Code:
    var_dump( \Environment::get('agent') );
    $controller = new FrontendIndex;
    $controller->run();
    var_dump( \Environment::get('agent') ); 
    direkt in der index.php?

  27. #67
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Das var_dump() nach dem run() kommt nicht an, weil die Seite dann bereits an den Browser geschickt wurde oder zumindest irgendwo ein exit enthält ;-)
    Der erste Aufruf ist jedoch bereits erfolgreich und enthält alle Daten.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  28. #68
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von the_scrat Beitrag anzeigen
    Das var_dump() nach dem run() kommt nicht an, weil die Seite dann bereits an den Browser geschickt wurde oder zumindest irgendwo ein exit enthält ;-)
    Achso ja stimmt. Dann direkt vor dem exit; in FrontendIndex::run()

  29. #69
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Ergebnis vor dem exit

    PHP-Code:
    object(stdClass)#12 (9) {
      
    ["string"]=>
      
    string(73"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0"
      
    ["os"]=>
      
    NULL
      
    ["class"]=>
      
    string(22"win firefox gecko fx47"
      
    ["browser"]=>
      
    string(7"firefox"
      
    ["shorty"]=>
      
    string(2"fx"
      
    ["version"]=>
      
    string(2"47"
      
    ["engine"]=>
      
    string(5"gecko"
      
    ["versions"]=>
      array(
    2) {
        [
    0]=>
        
    string(2"47"
        
    [1]=>
        
    string(1"0"
      
    }
      [
    "mobile"]=>
      
    NULL

    Also irgendwo geht dazwischen etwas verloren. Die Erweiterungen sind es nicht, da bereits mit coreOnly getestet
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  30. #70
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Na dann mal die gesamte Contao Installation nach
    PHP-Code:
    $GLOBALS['TL_CONFIG']['os'
    durchsuchen. Sollte nur ein Vorkommnis geben (system/config/agents.php).

  31. #71
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    ich habe das verzeichnis durchscannen lassen.
    Diese Variable gibt es nur ein einzigstes mal. Nämlich in der agents.php

  32. #72
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Tja, dann muss man noch mehr var_dumps im kompletten Seitenaufbau Prozess von Contao einbauen, um das Problem weiter eingrenzen zu können.

  33. #73
    Contao-Fan Avatar von Thraile
    Registriert seit
    17.12.2009.
    Ort
    Detmold
    Beiträge
    501
    Partner-ID
    6306

    Standard

    Such mal bitte nach Environment::set( oder Environment->set(

    Da das OS in der Klasse noch vorhanden ist, kommt der Fehler nicht aus einer kaputten Globals Variable. Irgend etwas verändert das gecachte Array.

    Gesendet von meinem D5803 mit Tapatalk

  34. #74
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    <?php var_dump(\Environment::set('agent')->mobile)?>
    ergibt:
    Code:
    Warning: Missing argument 2 for Contao\Environment::set(), called in C:\xampp\htdocs\tps\templates\support.html5 on line 1 and defined in C:\xampp\htdocs\tps\system\modules\core\library\Contao\Environment.php on line 78
    #0 C:\xampp\htdocs\tps\system\modules\core\library\Contao\Environment.php(78): __error(2, 'Missing argumen...', 'C:\\xampp\\htdocs...', 78, Array)
    #1 C:\xampp\htdocs\tps\templates\support.html5(1): Contao\Environment::set('agent')
    #2 C:\xampp\htdocs\tps\system\modules\core\library\Contao\InsertTags.php(1113): include('C:\\xampp\\htdocs...')
    #3 C:\xampp\htdocs\tps\system\modules\core\library\Contao\Controller.php(686): Contao\InsertTags->replace('...', false)
    #4 C:\xampp\htdocs\tps\system\modules\core\classes\FrontendTemplate.php(100): Contao\Controller::replaceInsertTags('...', false)
    #5 C:\xampp\htdocs\tps\system\modules\core\pages\PageRegular.php(190): Contao\FrontendTemplate->output(true)
    #6 C:\xampp\htdocs\tps\system\modules\core\controllers\FrontendIndex.php(267): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #7 C:\xampp\htdocs\tps\index.php(20): Contao\FrontendIndex->run()
    #8 {main}
    NULL
    <?php var_dump(\Environment->set('agent')->mobile)?>
    ergibt:
    Code:
    Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in C:\xampp\htdocs\tps\templates\support.html5 on line 1

  35. #75
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Wenn dann muss es
    PHP-Code:
    \Environment::set('agent'); 
    oder
    PHP-Code:
    $this->Environment->set('agent'); 
    sein. Wie Thraile schon gesagt hat sollst du deine gesamte Contao Installation mal nach
    Code:
    Environment::set(
    und
    Code:
    Environment->set(
    durchsuchen. Und wenn das kein Resultat liefert, muss man weiter einzeln debuggen.
    Geändert von Spooky (08.06.2016 um 11:17 Uhr)

  36. #76
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Thraile schrieb jedoch "Such mal... "

    Meinte, durchsuch mal das gesamte Projekt nach "Environment::set(" oder "Environment->set("
    Denn irgendwo wird anscheinend ein falscher Wert gesetzt!
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  37. #77
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    Standard

    <?php var_dump(\Environment::set('agent',mobile))?>
    ergibt:
    Code:
    NULL
    <?php var_dump(\Environment->set('agent',mobile))?>
    ergibt:
    Code:
    Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in C:\xampp\htdocs\tps\templates\support.html5 on line 1
    Nachdem ich das Projekt nach Environment::set( durchgescannt hab, ergab es folgende Treffer:
    err.jpg
    err1.jpg
    err2.jpg
    err3.jpg

    Environment->set( dagegen ergibt keine Treffer.
    Geändert von Grossvater (08.06.2016 um 12:21 Uhr)

  38. #78
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    35.517
    Partner-ID
    10107

    Standard

    Zitat Zitat von Grossvater Beitrag anzeigen
    <?php var_dump(\Environment::set('agent',mobile))?>
    ergibt:
    Code:
    NULL
    <?php var_dump(\Environment->set('agent',mobile))?>
    ergibt:
    Code:
    Parse error: syntax error, unexpected '->' (T_OBJECT_OPERATOR) in C:\xampp\htdocs\tps\templates\support.html5 on line 1
    Ich glaube du verstehst uns nicht . Die Ausgabe von \Environment::set ist uninteressant.


    Zitat Zitat von Grossvater Beitrag anzeigen
    Nachdem ich das Projekt nach Environment::set( durchgescannt hab, ergab es folgende Treffer:
    err.jpg

    Environment->set( dagegen ergibt keine Treffer.
    Sieht normal aus.

  39. #79
    Contao-Fan Avatar von Grossvater
    Registriert seit
    20.02.2013.
    Beiträge
    509

    HTML

    Update:
    Nachdem ich Contao von 3.5.9 auf 3.5.14 geupdatet habe, funktioniert $this->Environment->agent->mobile ohne Probleme.
    Es wird also korrekt true oder false zurückgegeben.

    Seltsam, oder?

Aktive Benutzer

Aktive Benutzer

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

Berechtigungen

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