Ankündigung

Einklappen
Keine Ankündigung bisher.

Warnung bei ThemeDesigner.php im DebugModus

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Warnung bei ThemeDesigner.php im DebugModus

    Hallo zusammen,

    ich habe bei einer Contao 4.9 das Eclipse Theme im Einsatz.
    Außerdem verwende ich die Installation als Multidomain mit mehreren Themes.

    Bei der Hauptdomain läuft Eclipse. Das passt.
    Bei der Subdomain, die als Landingpage dient arbeite ich ohne Eclipse und verwende nur ein eigenes Theme, eigene Layouts, Templates und CSS-Dateien.
    D.h. hier brauche und verwende hier nichts von Eclipse.

    Im Hintergrund wird allerdings trotzdem das Modul für den Themer geladen.
    Wenn ich jetzt im Debugmodus bin, dann erhalte ich folgenden Fehler:

    PHP-Code:
    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
    Grundsätzlich wäre das nicht so schlimm, doch irgendwie verweigert dadurch auch Firefox die Anwendung meines CSS.
    Als Workaround habe ich jetzt folgendes im ThemeDesigner.php geändert:
    Ich habe im Else-Zweig einfach auch die Konstante definiert, mit 0.
    Ist das so ok oder kann das Problem anders gelöst werden?
    Gibte es z.B. eine Möglichkeit zu verhindern, dass der Themer bei "Nicht-Eclipse Themes" geladen wird?

    Vielen Dank im Voraus.

    PHP-Code:
    // check if Themer loads a layout
    $objRoot = \PageModel::findByPk($objPage->rootId);
    // define constants
    if(strlen($objRoot->pct_theme) > 0)
    {
    define('LAYOUT_CSS_IS_ACTIVE',1);
    $strTheme $objRoot->pct_theme;
    }
    else
    {
                
    define('LAYOUT_CSS_IS_ACTIVE',0);
    $strTheme 'eclipse_default';

    Zuletzt geändert von ChrFen; 01.10.2020, 13:21.

  • #2
    Das entsteht nur, wenn du kein Layout gewählt hast in der Wurzelseite - was im Grunde nicht möglich ist, wenn man das Theme einsetzen will

    Wenn Du den ThemeDesigner nicht nutzt, kannst du dessen gesamte Funktion in den Systemeinstellungen deaktivieren.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Zitat von Tim Beitrag anzeigen
      Das entsteht nur, wenn du kein Layout gewählt hast in der Wurzelseite - was im Grunde nicht möglich ist, wenn man das Theme einsetzen will

      Wenn Du den ThemeDesigner nicht nutzt, kannst du dessen gesamte Funktion in den Systemeinstellungen deaktivieren.
      Danke für den Hinweis. Wie kann ich herausfinden, ob der ThemeDesigner für den anderen Seitenbam verwendet wird? Ich kenne mich mit dem Eclipse Theme nicht aus.

      Kommentar


      • #4
        Da ich ja das Theme auf dem 1. Seitenbaum aktiv nutze, kann ich den ThemeDesigner nicht generell deaktivieren.

        Im 2. Seitenbaum will ich allerdings kein PCT-Theme-Definition auswählen, da ich ja das alles selbst mache.
        Es sollte also irgendwie möglich sein, dass ein 2. Theme beim 2. Seitenbaum komplett unabhängig von deinem Theme-Modul läuft.

        Kannst du hier deinen Code noch mal optimieren?

        Kommentar


        • #5
          Ich sehe für kommende Versionen die lose Definition der Globalen vor.

          Der TD erlaubt für genannten Zweick ein Exkludieren von Seitenzweigen.
          Angenommen dein zweiter Startpunkt hat id=10;

          initconfig.php
          Code:
          // TD fuer Wurzelseite id=10 ausschliessen
          [COLOR=#333333][SIZE=11px][COLOR=#8735a5]$GLOBALS[/COLOR][[COLOR=#dd2400]'PCT_THEMEDESIGNER'[/COLOR]][[COLOR=#dd2400]'excludes'[/COLOR]][] = 10;[/SIZE][/COLOR]
          Zuletzt geändert von Tim; 02.10.2020, 08:48.
          http://www.premium-contao-themes.com

          Kommentar

          Lädt...
          X