Ankündigung

Einklappen
Keine Ankündigung bisher.

ThemeDesigner, Demo-Installer im Backend ausblenden, selbst für Admins

Einklappen
Das ist ein wichtiges Thema.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Zitat von mapfei Beitrag anzeigen
    Habs in der initconfig.php. Cache geleert, funzt aber nicht...
    Hab's gerade selbst ausprobiert . Alles ausser BE-User id=10 bei mir zum Test.


    Angehängte Dateien
    http://www.premium-contao-themes.com

    Kommentar


    • #17
      Sorry, bekomme ein HTTP 500 Error mit folgendem Inhalt über den Debugger: Contao Vers. 4.9.13 / CC/Inhaltselemente Vers. 4.3.7/4.3.5, cache geleert. Habe es sowohl mit initconfig.php als auch mit dcaconfig.php in /system/config/ probiert, immer das selbe.

      HTTP 500 Internal Server Error
      Warning: Use of undefined constant layout_css_is_active - assumed 'layout_css_is_active' (this will throw an Error in a future version of PHP)
      ExceptionLogs 1Stack Trace
      ErrorException in system/modules/pct_themer/PCT/ThemeDesigner.php (line 640)
      // @var object \FontendTemplate
      $objTemplate = new \Contao\FrontendTemplate('js_stylesheet');
      $objTemplate->arrCSS = array(); $objTemplate->arrFields = array();
      if(LAYOUT_CSS_IS_ACTIVE)
      {
      $objTemplate->layout_css_is_active = true;
      }
      // @var object ThemeDesigner

      ThemeDesigner->prepareJavascriptCSS(array('PCT_THEME' => 'eclipse_default'))
      in system/modules/pct_themer/PCT/ThemeDesigner.php (line 1365)
      in vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php -> addToTemplate (line 191)
      in vendor/contao/core-bundle/src/Resources/contao/pages/PageRegular.php -> prepare (line 48)
      in vendor/contao/core-bundle/src/Resources/contao/controllers/FrontendIndex.php -> getResponse (line 339)
      in vendor/symfony/http-kernel/HttpKernel.php -> renderPage (line 158)
      in vendor/symfony/http-kernel/HttpKernel.php -> handleRaw (line 80)
      in vendor/symfony/http-kernel/Kernel.php -> handle (line 201)
      Kernel->handle(object(Request))
      in web/index.php (line 31)
      require('/www/htdocs/w0128dce/irtours44.danielduesentrieb.at/web/index.php')
      in web/app.php (line 4)

      Nur zur Anmerkung:
      Finde es schlecht, daß im Contao-Forum nichts steht, welche Datei nun zuständig ist.

      Kommentar


      • #18
        Worauf bezieht sich diese Frage? Auf das Ausblenden des TDs im Backend?

        Finde es schlecht, daß im Contao-Forum nichts steht, welche Datei nun zuständig ist.
        beide Dateien haben seit jeher grundverschiedene Funktionen und Ladepositionen. Die initconfig wird nach dem Initialisieren des Kerns und aller Module gefeuert, die dcaconfig.php ausschließlich im Backend und nur nach dem Laden eines DCA-Containers.

        initconfig weit vor dcaconfig und initconfig im FE, dcaconfig (standardmäßig) nicht im FE.
        Zuletzt geändert von Tim; 09.04.2021, 08:14.
        http://www.premium-contao-themes.com

        Kommentar


        • #19
          Danke Dir Tim. Die Frage bezieht sich auf das Thema Ausblenden des TDs im Backend. Leider kommen im Debugger obgenannte Fehlermeldungen, wenn ich Deinen Code in die dcaconfig.php unter /system/config/ schreibe.

          Kommentar


          • #20
            Der Code hat keinen Einfluss auf den TD, einzig auf das Contao Backend.

            Der Fehler ist seltsam bzw. benötigt einige Wege zum Auslösen
            Entstehen kann es eigentlich nur, wenn der TD eingesetzt wird, aber in der Wurzelseite kein PCT Layout gewählt ist.
            -> https://forum.premium-contao-themes....0641#post20641

            Und eigentlich sollte die Seite auch weiterhin normal ausführen. Es ist "nur" eine Warnung.
            Zuletzt geändert von Tim; 09.04.2021, 09:11.
            http://www.premium-contao-themes.com

            Kommentar


            • #21
              Zitat von Dr.E. Beitrag anzeigen
              hallo,

              ich habe eine kleine modifikation eingebaut:
              - für den fall, dass es jemandem hilft anbei:
              1. für alle IDs, die NICHT in $arrUsers explizit aufgeführt sind, werden die einträge ausgeblendet (also ist es egal, wer später von den eingesetzten zusätzlichen admins noch angelegt wird) und
              2. wird der eintrag zum theme-installer zusätzlich ausgeblendet.



              PHP-Code:
              <?php

              // only show ThemeDesigner, DemoInstaller and/or ThemeInstaller for backend user by id

              if(TL_MODE == 'BE')
              {
              $arrUsers = array(1); // user-id
              $objUser = \BackendUser::getInstance();

              if( !
              in_array($objUser->id$arrUsers) )
              {
              // hide ThemeDesigner
              unset($GLOBALS['BE_MOD']['design']['pct_themedesigner']);
              // hide DemoInstaller
              unset($GLOBALS['BE_MOD']['design']['pct_demoinstaller']);
              // hide ThemeInstaller
              unset($GLOBALS['BE_MOD']['system']['pct_theme_installer']);
              }
              }

              eingetragen ist das ganze in C4 hier:

              Code:
              /system/config/initconfig.php
              cache löschen nicht vergessen!

              (verzeichnis /var/cache löschen)

              HTH
              Aloha,
              ich möchte hierzu nochmal nachfragen.
              ich bekomme den PHP Code auch nicht so eingebunden das im BE die Bereiche ausgeblendet sind. Contao Version 4.4.45.
              ich komme nach dem Einbinden nicht mehr ins BE (weisse Seite) Webseite läuft aber noch - und auch kein Install tool lässt sich aufrufen.
              Gibt es noch eine Idee zu dem Thema?
              Danke.
              VG zet

              Kommentar


              • #22
                Weisse Seite bedeutet in der Regel PHP Fehler. Gibt es einen konkreten Fehler Log?

                ps. in dem hier zitierten Post wird gesagt das der Ordner var/cache gelöscht werden soll. Das ist verwirrend, wenn nicht eher falsch. Der Ordner muss geleert werden, nicht aber vollständig aus dem System gelöscht! -> Alternativ kann unser PCT Contao Installer oder auch der Contao Manager zum Leeren des Caches genutzt werden.
                (Das Leeren des Caches ist für den Einsatz von initconfig oder ähnlich nicht zusätzlich notwendig.)
                Zuletzt geändert von Tim; 31.03.2022, 08:11.
                http://www.premium-contao-themes.com

                Kommentar


                • #23
                  Moin!
                  die weisse Seiete kommt ja nur wenn ich die config mit den Eintragungen auf den Server kopiert habe und dann die Seite über das BE aufrufen will.
                  Sobald ich die config wieder ohne die Eintragungen aufspiele ist alles wieder da und funktioniert.
                  Kann es sein, dass ich die Eintragung nicht korrekt in die config Datei einkopiere - ich setzte die einfach obendrüber...kommt eigentlich auch kein Fehlermeldung im Editor, seltsam.
                  ich lösche den Cache über Conato Manager...glaube ich nicht das es daran liegt.
                  Noch nee Idee?

                  Kommentar


                  • zet
                    zet kommentierte
                    Kommentar bearbeiten
                    PHP Version ist die 7.4.

                • #24
                  [2022-03-31 10:22:22] security.INFO: Attempting SimplePreAuthentication. {"key":"backend","authenticator":"Contao\\CoreB und le\\Security\\ContaoAuthenticator"} []
                  [2022-03-31 10:22:22] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\ClassNotFoundExc eption: "Attempted to load class "BackendUser" from the global namespace. Did you forget a "use" statement?" at /homepages/14/d4295009568/htdocs/contao/system/config/localconfig.php line 7 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\ClassNotFou ndException(code: 0): Attempted to load class "BackendUser" from the global namespace.\nDid you forget a "use" statement? at /homepages/14/d4295009568/htdocs/contao/system/config/localconfig.php:7)"} []

                  das steht im log.

                  Kommentar


                  • #25
                    95009568/htdocs/contao/system/config/localconfig.php line 7
                    Die Funktion gehört entweder in die initconfig.php oder dcaconfig.php. Siehe 1. Thread.
                    http://www.premium-contao-themes.com

                    Kommentar


                    • #26
                      Zitat von Tim Beitrag anzeigen

                      Die Funktion gehört entweder in die initconfig.php oder dcaconfig.php. Siehe 1. Thread.
                      seltsam - bei mir gibt es nur eine localconfig.php in Contao//system/config/localconfig.php

                      Kommentar


                      • #27
                        Seit Contao 4.0 müssen diese Dateien manuell angelegt werden. https://contao-academy.de/blog/conta...und-langconfig
                        http://www.premium-contao-themes.com

                        Kommentar


                        • #28
                          Zitat von Tim Beitrag anzeigen
                          Seit Contao 4.0 müssen diese Dateien manuell angelegt werden. https://contao-academy.de/blog/conta...und-langconfig
                          und daran soll das liegen?? dort steht auch: "Unter Contao 4 kannst du zwar weiterhin deine Anpassungen in dcaconfig.php, langconfig.php und config.php durchführen..."
                          und was passiert mit der loacalconfig?

                          Kommentar


                          • #29
                            Die localconfig ist für reine Konfigurations-Einstellungen konzipiert. Nicht für auszuführenden Code. Bitte entsprechend der Anleitung im Hauptpost die initconfig.php oder dcaconfig.php nutzen (falls noch nicht angelegt, diese anlegen).
                            http://www.premium-contao-themes.com

                            Kommentar


                            • #30
                              Zitat von Tim Beitrag anzeigen
                              Die localconfig ist für reine Konfigurations-Einstellungen konzipiert. Nicht für auszuführenden Code. Bitte entsprechend der Anleitung im Hauptpost die initconfig.php oder dcaconfig.php nutzen (falls noch nicht angelegt, diese anlegen).
                              ok, hat funktioniert - einfach in den gleichen Ordner.
                              Wenn ich jetzt noch gern die Templates ausgeblendet haben möchte - damit da keiner drin rumfummelt.
                              wie würde der Code dazu aussehen - so?
                              // hide Templates
                              unset($GLOBALS['BE_MOD']['system']['pct_templates']);

                              wie ist die richtige schreibweise?
                              danke!

                              Kommentar

                              Lädt...
                              X