Ergebnis 1 bis 25 von 25

Thema: Contao 3.5 auf 4.9 aktualisieren für PHP 8

  1. #1
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard Contao 3.5 auf 4.9 aktualisieren für PHP 8

    Hallo Leute,

    ich bin neu hier und versuche mich auf das Wesentliche zu konzentrieren:

    Im Zuge der PHP-Aktualisierung beim Provider (HostEurope) mussten zwei Contao-Installation aktualisert werden. Eine Aktualisierung hat nach einigen Stolpersteinen funkioniert.

    Eine andere Installation nicht.

    Ich vermute, dass ich die gleichen Probleme habe wie der Eröffner dieses Themas - auch hier meldet sich "COLORBOX":

    request.CRITICAL: Uncaught PHP Exception Error: "Undefined constant "COLORBOX"" at C:\Users\GD-System.de\Documents\webserver\htdocs\per-factum.de_006\templates\quantum\j_colorbox.html5 line 4 {"exception":"[object] (Error(code: 0): Undefined constant "COLORBOX" at C:\\Users\\GD-System.de\\Documents\\webserver\\htdocs\\per-factum.de_006\\templates\\quantum\\j_colorbox.html 5:4)"} []

    Scheinbar wurde das Problem des Vorredners gelöst - ich kann im Verlauf dieses Forums aber leider nicht erkennen, was gemacht wurde um das Problem zu beheben.

    Interessant ist, dass wohl das Projekt, welches sich einfacher umstellen ließ, auch über die COLORBOX verfügt (jedenfalls gibt es einen Ordner, welcher so heißt) - hier gab es jedoch diesbezüglich keine Probleme dieser Art.

    Ich bedanke mich schon jetzt für Alle, die Lösungsansätze haben.

    Ich darf noch sagen, dass ich zwar seit mehreren Jahren mit PHP und MySQL arbeite, aber bei Weitem kein Profi bin!

    PS: Ich habe bei beiden Projekten folgende Anleitung verwendet: https://contao-academy.de/blog/updat...3-auf-contao-4

  2. #2
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.086
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dein Template j_colorbox.html5 (\templates\quantum\j_colorbox.html5) muss in der neuen Contao-Version anders aussehen als in der alten. Also im Backend mit dem aktuellen j_colorbox.html5 vergleichen und die Änderungen, die daran gemacht wurden, auf Basis des aktuellen Templates von Contao nachführen. Beim TE (rauel) war das offenbar nur die ins Originaltemplate eingefügte Zeile
    HTML-Code:
    current: "Bild {current} von {total}"
    Die musste nun eben in das aktuelle Template von Contao eingefügt werden. Was es bei dir ist, musst du eben herausfinden, notfalls dein "fehlerhaftes" Template hier reinstellen - wegen der besseren Lesbarkeit z.B. in HTML-Tags (<>).
    Edit: Alte und neue Contao-Version wären auch hilfreich.

  3. #3
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard

    Eine Frage vorab: Gibt es die Möglichkeit per E-Mail informiert zu werden, wenn eine Person im Thread geantwortet hat? (EDIT: Einstellung habe ich gefunden.)

    Auch hier habe ich Verständnisprobleme: Was heißt "Template"? Ist damit NUR die Datei "j_colorbox.html5" gemeint, obwohl der Ordner templates/Quantum aus 69 Dateien besteht?

    Der Inhalt der Datei "j_colorbox.html5" (in der alten, wie auch in der neuen Umgebung, da ich die Ordner lediglich kopiert habe) lautet:

    HTML-Code:
    <?php
    
    // Add the colorbox style sheet
    $GLOBALS['TL_CSS'][] = 'assets/jquery/colorbox/'. COLORBOX .'/css/colorbox.min.css||static';
    
    ?>
    
    <script src="<?php echo TL_ASSETS_URL; ?>assets/jquery/colorbox/<?php echo COLORBOX; ?>/js/colorbox.min.js"></script>
    <script>
      (function($) {
        $(document).ready(function()
        {
          $('a[data-lightbox]').map(function() {
          	
          	// break loop if parent is a bx slider clone
          	if($(this).parent('div').hasClass('bx-clone'))
          	{
    	      	return false;
          	}
          	
          	$(this).colorbox({
              // Put custom options here
              loop: false,
              rel: $(this).attr('data-lightbox'),
              maxWidth: '95%',
              maxHeight: '95%',
            });
          });
        });
      })(jQuery);
    </script>
    EDIT: Auch habe ich das Verständnisproblem, WANN im Vorfeld die Konstante überhaupt erzeugt werden soll... Spätestens bei Verwendung der Datei "j_colorbox.html5" muss diese doch schon vorhanden sein - oder verstehe ich das falsch?

    Alte Version von Contao: 3.5.36 (ließ sich nicht mehr auf 3.5.40 aktualisieren...), neue Version von Contao: 4.9
    Geändert von GD-System.de (15.01.2023 um 16:58 Uhr)

  4. #4
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.086
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Und von welcher Contao-Version auf welche wurde aktualisiert?
    Am einfachsten ist es halt immer, das geänderte Template mit dem Original zu vergleichen. Dafür gibt es ja im Backend eine komfortable Möglichkeit.
    Am allereinfachsten dann, wenn man das in der alten Umgebung macht, weil man dann 1:1 nur die Änderungen angezeigt bekommt, die gemacht wurden. Vergleicht man in der neuen Umgebung, hat man natürlich auch die Änderungen zwischen altem und neuem Originaltemplate mit drin.

    Verdächtig ist für mich aber zumindest schon mal der Block
    HTML-Code:
          	// break loop if parent is a bx slider clone
          	if($(this).parent('div').hasClass('bx-clone'))
          	{
    	      	return false;
          	}

  5. #5
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard

    Alte Version von Contao: 3.5.36 (ließ sich nicht mehr auf 3.5.40 aktualisieren...), neue Version von Contao: 4.9

    Einen Vergleich (mit dem Originalzustand) kann ich nicht anstellen, da ich seinerzeit (vor ca. fünf Jahren) die Webpräsenz von einem fremden auf meinen Webserver transferiert habe.

    Wenn dieser Codeteil verdächtig ist:

    PHP-Code:
    // break loop if parent is a bx slider clone
              
    if($(this).parent('div').hasClass('bx-clone'))
              {
                  return 
    false;
              } 
    ... stellt sich mir aber die Frage, warum die Konstante schon VORHER als "nicht existent" bemängelt wird.

  6. #6
    Contao-Nutzer
    Registriert seit
    10.06.2021.
    Beiträge
    245
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die Konstante gibt es in neueren Contao Versionen einfach nicht. Dein Template will sie aber benutzen.
    Der andere Code hat damit erstmal nichts zu tun.

    Aber damit die Funktionalität gleich bleibt musst du den Code des Templates der neuen Contao Version übernehmen und dort dann die Anpassung wieder vornehmen.
    Also in deinem Fall so:
    Code:
    <?php
    
    // Add the colorbox style sheet
    $GLOBALS['TL_CSS'][] = 'assets/colorbox/css/colorbox.min.css|static';
    
    ?>
    
    <script src="<?= $this->asset('js/colorbox.min.js', 'contao-components/colorbox') ?>"></script>
    <script>
      jQuery(function($) {
        $('a[data-lightbox]').map(function() {
          // break loop if parent is a bx slider clone 
          if($(this).parent('div').hasClass('bx-clone')) { 
                  return false; 
          }  
          $(this).colorbox({
            // Put custom options here
            loop: false,
            rel: $(this).attr('data-lightbox'),
            maxWidth: '95%',
            maxHeight: '95%'
          });
        });
      });
    </script>

  7. #7
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard

    Nach ich Deinen Vorschlag vorgenommen habe (Inhalt der Datei "j_colorbox.html5" komplett ersetzt), erhalte ich folgende Fehlermeldung:

    Code:
    [2023-01-15 20:10:54] request.INFO: Matched route "tl_page.2". {"route":"tl_page.2","route_parameters":{"_token_check":true,"_controller":"Contao\\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","pageModel":"[object] (Contao\\PageModel: {})","parameters":"","_route":"tl_page.2"},"request_uri":"http://per-factum.007.de.local/home.html","method":"GET"} []
    [2023-01-15 20:10:54] security.INFO: Populated the TokenStorage with an anonymous Token. [] []
    [2023-01-15 20:10:54] request.CRITICAL: Uncaught PHP Exception Exception: "Could not find template "j_slider"" at C:\Users\GD-System.de\Documents\webserver\htdocs\per-factum.de_006\vendor\contao\core-bundle\src\Resources\contao\library\Contao\TemplateLoader.php line 158 {"exception":"[object] (Exception(code: 0): Could not find template \"j_slider\" at C:\\Users\\GD-System.de\\Documents\\webserver\\htdocs\\per-factum.de_006\\vendor\\contao\\core-bundle\\src\\Resources\\contao\\library\\Contao\\TemplateLoader.php:158)"} []
    [2023-01-15 20:10:55] request.INFO: Matched route "tl_page.2". {"route":"tl_page.2","route_parameters":{"_token_check":true,"_controller":"Contao\\FrontendIndex::renderPage","_scope":"frontend","_locale":"de","pageModel":"[object] (Contao\\PageModel: {})","parameters":"","_route":"tl_page.2"},"request_uri":"http://per-factum.007.de.local/home.html","method":"GET"} []
    [2023-01-15 20:10:55] security.INFO: Populated the TokenStorage with an anonymous Token. [] []
    [2023-01-15 20:10:55] request.CRITICAL: Uncaught PHP Exception Exception: "Could not find template "j_slider"" at C:\Users\GD-System.de\Documents\webserver\htdocs\per-factum.de_006\vendor\contao\core-bundle\src\Resources\contao\library\Contao\TemplateLoader.php line 158 {"exception":"[object] (Exception(code: 0): Could not find template \"j_slider\" at C:\\Users\\GD-System.de\\Documents\\webserver\\htdocs\\per-factum.de_006\\vendor\\contao\\core-bundle\\src\\Resources\\contao\\library\\Contao\\TemplateLoader.php:158)"} []

  8. #8
    Contao-Nutzer
    Registriert seit
    10.06.2021.
    Beiträge
    245
    Contao-Projekt unterstützen

    Support Contao

    Standard

    j_slider gibt es nicht mehr, kannst du in deinem Seitenlayout rausnehmen.

  9. #9
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard

    Wie kann ich dies bewerkstelligen?

    Ich habe bereits gesagt, dass ich kein Profi bin...

    Ich habe keine Ahnung, wie ich etwas im Seitenlayout entfernen kann, geschweige denn das Seitenlayout bearbeiten kann.

    Ich bedanke mich immer für viel Geduld bei euch!

  10. #10
    Contao-Nutzer
    Registriert seit
    10.06.2021.
    Beiträge
    245
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Findest du im Contao Backend unter Themes -> Layouts. Dort ists dann einfach nur eine Checkbox.

  11. #11
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard

    Ich werde die Vorschläge in den kommenden Tagen testen. Für heute habe ich genug getestet. Ich bin heute schon seit ca. 1130 Uhr (u. A.) an diesem Projekt dran.

    Ich weiß jede gute Antwort zu schätzen.

  12. #12
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard

    Hallo Zusammen,

    ich bin nun wieder am Projekt dran. Ich habe den Inhalt der Datei "j_colorbox.html5", wie empfohlen, ausgetauscht. Nun erscheint die Meldung vom 15.01.2023, 20:13.

    Es wurde mitgeteilt, dass j_slider nicht mehr existiert und ich unter Themes->Layouts eine Checkbox deaktivieren soll. Nur finde ich den Punkt "Themes->Layouts" nicht, geschweige denn eine Checkbox...

    Wo genau finde ich diesen Punkt?

    Kobold 6.png

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.253
    Partner-ID
    10107
    » sponsor me via GitHub or PayPal or Revolut

  14. #14
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard

    Mmh - aber auch hier finde ich keine Checkboxen...Kobold 7.png

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

    Daumen hoch

    Das ist ein Screenshot deiner Seitenlayouts. Das was du suchst ist eine Einstellung eines Seitenlayouts.

    https://docs.contao.org/manual/de/la...walten/#jquery
    » sponsor me via GitHub or PayPal or Revolut

  16. #16
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard

    OKAY - das war schon mal hilfreich: Es erscheint nun im FrontEnd die Seite (also ohne direkte Fehlermeldung).

    Nun sieht das LayOut aber komplett anders aus...

    Im Anhang, wie die Seite vorher aussah und wie sie jetzt ausschaut:

    vorher.png
    nachher.png

    Auffällig ist die obere Navigation und dass auf einmal ein blauer Hintergrund zu sehen ist, welcher vorher nicht zu sehen war.

  17. #17
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.800
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Da wirst Du mal im Code vergleichen müssen ob z.B. das css noch komplett richtig eingebunden wird oder irgend etwas fehlt. An Hand eines Bildes kann man keine Ursachenforschung bzgl. CSS betreiben.
    Ich kann mir allerdings nur sehr schwer vorstellen, dass die Umstellung der PHP-Version zu Veränderungen im CSS und damit im Layout führt, zu mindestens dann nicht, wenn das css ganz normal als Datei im Layout eingebunden ist.

    Kleiner Nachtrag:
    Wenn ich das weiter oben richtig gesehen habe, dann handelt es sich um das Theme Quantum von Premium Contao Themes. Wenn es sich also tatsächlich um Quantum von PCT handelt, dann wird das Theme vom Hersteller mindestens seit 2019 offiziell nicht mehr supportet https://forum.premium-contao-themes....5036#post15036.
    Damit kann es schon sein, dass irgendetwas nicht mehr so wie gewohnt funktioniert, wenn auf PHP 8 umgestellt wird. Diese Themes haben ja Unmengen angepasster Templates und andere Spezialitäten. Wenn es da keine Themeupdates mehr gibt, dann passt es halt irgendwann nicht mehr.
    Geändert von mlweb (22.01.2023 um 13:41 Uhr)
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  18. #18
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard

    Danke erneut an Alle..

    Ich bin wieder einen großen Schritt weitergekommen.

    Nachdem ich Im BackEnd die Systemwartung durchgeführt habe, erscheint die Seite (inkl. Formatierungen, bis auf den Footer), so, wie sie sein soll - AU?ER: Die obere Diashow über dem Logo und der oberen Navigation...

    Kann es sein, dass die Diashow der "j_slider" gewesen ist, welchen ich deaktiviert habe, weil es nicht mehr unterstützt wird?

    Wenn ja - kann man im vorhandenen Theme (um jetzt nicht das Geschaffene wieder zu "zerstören") eine Alternative einbetten?

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

    Standard

    Du kannst nun js_slider aktivieren.
    » sponsor me via GitHub or PayPal or Revolut

  20. #20
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard

    Das habe ich noch nicht getestet - aber Sorry - warum sollte das jetzt wie funktionieren? Irgendwie verstehe ich die Mystik des CMS nicht...

    Ich habe vorher bei allen Unterpunkten (s. Screenshot) den j_slider deaktiviert. Soll ich nun bei allen diesen Punkten den j_slider erneut aktivieren?Kobold 8.png

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

    Standard

    Das Template j_slider gibt es nicht mehr, du musst nun js_slider nehmen.
    » sponsor me via GitHub or PayPal or Revolut

  22. #22
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard

    Ich habe mich verlesen... OKAY - ich habe zwar nun überall den "js_slider" aktiviert, aber die obige Diashow erscheint trotzdem nicht.

    Ebenfalls erscheint nach der Aktivierung von "js_slider" beim Klick auf "Speichern und schließen" die Fehlermeldung (s. Screenshot): Bitte weisen Sie alle Module einer Spalte zu!

    Ich denke, dass es mit der CheckBox bzgl. "js_slider" nichts zu tun hat. Bei erneutem Aufruf dieser Seite ist die CheckBox noch aktivert.

    Was hat es mit dieser Fehlermeldung auf sich? Oder könnte ich diese Module löschen (oder zumindest deaktivieren)?Kobold 10.png

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

    Standard

    Ich denke das wirst du entweder eher die Originalen Autoren des Themes bzw. der Contao Installation fragen müssen - oder du vergleichst es mit der (hoffentlich noch laufenden) Contao 3.5 Instanz, um zu sehen was dort eingestellt ist und du daher ggf. nachziehen musst.
    » sponsor me via GitHub or PayPal or Revolut

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

    Standard

    Moderation: Posts in einen eigenen Thread verschoben, da das nichts strikt mit dem Original Thema zu tun hat.
    » sponsor me via GitHub or PayPal or Revolut

  25. #25
    Contao-Nutzer
    Registriert seit
    15.01.2023.
    Beiträge
    13

    Standard

    OKAY - ich bedanke mich zunächst einmal für die umfassende Unterstützung. Ich habe den aktuellen Stand zur Überprüfung des KD übermittelt.

    NACHTRAG: Die Aktualisierungen haben scheinbar bis auf einige Kleinigkeiten funktioniert. Ich erwarte noch die Rückmeldung des KD. Der Slider hat deswegen nicht funktioniert, weil die slider.js und die dazugehörigen Graphiken nicht hochgeladen waren... Nun funktioniert auch der Slider.

    DANKE!!!
    Geändert von GD-System.de (22.01.2023 um 18:17 Uhr)

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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