Theme+ 4: "Entwicklermodus" deaktivieren?

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Spooky
    Community-Moderator
    Wandelndes Contao-Lexikon
    • 12.04.2012
    • 38811

    #1

    Theme+ 4: "Entwicklermodus" deaktivieren?

    Lässt sich der "Entwicklermodus" nicht doch irgendwie deaktivieren, von mir aus durch Eingriff in den aktuellen Source der Extension? Kunden könnten es als störend empfinden, wenn sie im Backend eingelogged sind und das Frontend bei jedem Seitenaufruf vermeintlich ewig lädt, wenn bspw. viele einzelne JavaScript oder CSS Dateien durch den Theme+ Entwicklermodus ungecached immer wieder einzeln aufgerufen werden.

    Darüberhinaus stört es mich auch als Entwickler, wenn es um JavaScript Dinge geht... HTML & CSS wären ja noch relativ schnell geladen, aber wenn man warten muss bis die ganze Kette an einzelnen JavaScripts fertig geladen hat, bei jedem Seitenaufruf, nervt das schon ziemlich. Als Workaround könnte man natürlich auf welche Weise auch immer (zwei Verschiedene Browser oder Instanzen) verschiedene Sessions für Backend und Frontend verwenden... bequem ist das aber auch nicht .
    Zuletzt geändert von Spooky; 18.07.2013, 18:14.
    » sponsor me via GitHub or Revolut
  • Spooky
    Community-Moderator
    Wandelndes Contao-Lexikon
    • 12.04.2012
    • 38811

    #2
    War doch nicht so schwierig den entsprechenden Kontrollpunkt zu finden. class ThemePlus:
    PHP-Code:
        public static function isDesignerMode()
        {
            return static::getInstance()->blnLiveMode
                ? false
                : true;
        } 
    
    In der ThemePlus.php. (blnLiveMode wird indirekt über getInstance() gesetzt.) Um den Entwicklermodus manuell zu deaktivieren hier einfach statt dessen false zurückgeben lassen.
    » sponsor me via GitHub or Revolut

    Kommentar

    • tril
      Contao-Urgestein
      • 07.01.2010
      • 2939

      #3
      Ich kenne das Problem und arbeite an einer Lösung, für den Moment kannst du ThemePlus::setDesignerMode(false) oder ThemePlus::setLiveMode(true) verwenden, z.B. in deiner initconfig.php.

      Kommentar

      • Spooky
        Community-Moderator
        Wandelndes Contao-Lexikon
        • 12.04.2012
        • 38811

        #4
        Ah ok, danke .

        // hm, muss ich die ThemePlus Class in der initconfig.php manuell includen? Weil ansonsten bekomme ich einen "Class 'ThemePlus' not found" error
        Zuletzt geändert von Spooky; 21.07.2013, 10:40.
        » sponsor me via GitHub or Revolut

        Kommentar

        • tril
          Contao-Urgestein
          • 07.01.2010
          • 2939

          #5
          sry, die Klasse heißt korrekterweise natürlich ThemePlus\ThemePlus

          PS: Wenn Probleme auftreten, bitte nicht korrigieren sondern neu kommentieren, sonst bekomme ich das nicht mit (-> gibt sonst keine E-Mail Notification)

          Kommentar

          • Spooky
            Community-Moderator
            Wandelndes Contao-Lexikon
            • 12.04.2012
            • 38811

            #6
            Zitat von tril Beitrag anzeigen
            sry, die Klasse heißt korrekterweise natürlich ThemePlus\ThemePlus
            Achja, thx, dachte auch nicht an den Namespace.

            Zitat von tril Beitrag anzeigen
            PS: Wenn Probleme auftreten, bitte nicht korrigieren sondern neu kommentieren, sonst bekomme ich das nicht mit (-> gibt sonst keine E-Mail Notification)
            Jo, mache ich normalerweise eh, waren in dem Fall nur ein paar Minuten dazwischen.
            » sponsor me via GitHub or Revolut

            Kommentar

            • Spooky
              Community-Moderator
              Wandelndes Contao-Lexikon
              • 12.04.2012
              • 38811

              #7
              Komisch, wenn ich
              PHP-Code:
              ThemePlus\ThemePlus::setDesignerMode(false); 
              
              in der initconfig.php verwende, funktioniert es zwar, aber ich bekomme im Backend ganz unten ein paar PHP Warnings ausgespuckt:
              Code:
              Warning: mysqli::real_escape_string(): Couldn't fetch mysqli in system/modules/core/library/Contao/Database/Mysqli/Statement.php on line 48
              
              #0 [internal function]: __error(2, 'mysqli::real_es...', '/data/www/***...', 48, Array)
              #1 system/modules/core/library/Contao/Database/Mysqli/Statement.php(48): mysqli->real_escape_string('a:28:{s:7:"refe...')
              #2 system/modules/core/library/Contao/Database/Statement.php(398): Contao\Database\Mysqli\Statement->string_escape('a:28:{s:7:"refe...')
              #3 system/modules/core/library/Contao/Database/Statement.php(373): Contao\Database\Statement->escapeParams(Array)
              #4 system/modules/core/library/Contao/Database/Statement.php(252): Contao\Database\Statement->replaceWildcards(Array)
              #5 system/modules/core/classes/BackendUser.php(127): Contao\Database\Statement->execute('a:28:{s:7:"refe...', '1')
              #6 [internal function]: Contao\BackendUser->__destruct()
              #7 {main}
              
              
              Warning: mysqli::real_escape_string(): Couldn't fetch mysqli in system/modules/core/library/Contao/Database/Mysqli/Statement.php on line 48
              
              #0 [internal function]: __error(2, 'mysqli::real_es...', '/data/www/***...', 48, Array)
              #1 system/modules/core/library/Contao/Database/Mysqli/Statement.php(48): mysqli->real_escape_string('1')
              #2 system/modules/core/library/Contao/Database/Statement.php(398): Contao\Database\Mysqli\Statement->string_escape('1')
              #3 system/modules/core/library/Contao/Database/Statement.php(373): Contao\Database\Statement->escapeParams(Array)
              #4 system/modules/core/library/Contao/Database/Statement.php(252): Contao\Database\Statement->replaceWildcards(Array)
              #5 system/modules/core/classes/BackendUser.php(127): Contao\Database\Statement->execute('a:28:{s:7:"refe...', '1')
              #6 [internal function]: Contao\BackendUser->__destruct()
              #7 {main}
              
              Fatal error: Exception thrown without a stack frame in Unknown on line 0
              » sponsor me via GitHub or Revolut

              Kommentar

              • tril
                Contao-Urgestein
                • 07.01.2010
                • 2939

                #8
                Argh, das zerhaut den Initialisation Stack ... versuche es mal so:
                PHP-Code:
                <?php
                if (TL_MODE == 'BE') {
                    BackendUser::getInstance();
                    Database::getInstance();
                }
                ThemePlus\ThemePlus::setDesignerMode(false);
                Wenn das nicht hilft, die beiden Zeilen BackendUser::getInstance(); und Database::getInstance(); mal vertauschen.

                MfG Tristan

                Kommentar

                • tril
                  Contao-Urgestein
                  • 07.01.2010
                  • 2939

                  #9
                  PS, Alternativ sollte es eigentlich auch so gehen:
                  PHP-Code:
                  <?php 
                  if (TL_MODE == 'FE') { 
                      ThemePlus\ThemePlus::setDesignerMode(false);
                  }

                  Kommentar

                  • Spooky
                    Community-Moderator
                    Wandelndes Contao-Lexikon
                    • 12.04.2012
                    • 38811

                    #10
                    Passt, funktioniert
                    » sponsor me via GitHub or Revolut

                    Kommentar

                    • Spooky
                      Community-Moderator
                      Wandelndes Contao-Lexikon
                      • 12.04.2012
                      • 38811

                      #11
                      Leider verursacht die initconfig Lösung doch auch andere Probleme: https://community.contao.org/de/show...em-mit-Session
                      » sponsor me via GitHub or Revolut

                      Kommentar

                      • tril
                        Contao-Urgestein
                        • 07.01.2010
                        • 2939

                        #12
                        Dann wird es dich freuen, dass man den Designer Modus zukünftig separat pro Benutzer aktivieren muss, dieser ist per default deaktiviert.

                        Kommentar

                        • Spooky
                          Community-Moderator
                          Wandelndes Contao-Lexikon
                          • 12.04.2012
                          • 38811

                          #13
                          Passt . Zukünftig heißt wann genau? Oder gibt's das schon auf GitHub .
                          » sponsor me via GitHub or Revolut

                          Kommentar

                          • tril
                            Contao-Urgestein
                            • 07.01.2010
                            • 2939

                            #14
                            ich baue da grad dran rum, wird wohl innerhalb dieser Woche kommen

                            Kommentar

                            • Spooky
                              Community-Moderator
                              Wandelndes Contao-Lexikon
                              • 12.04.2012
                              • 38811

                              #15
                              Okidoki, thx.
                              » sponsor me via GitHub or Revolut

                              Kommentar

                              Lädt...