Ergebnis 1 bis 8 von 8

Thema: Ladereihenfolge von alten /system/modules Modulen in Contao 4

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

    Standard Ladereihenfolge von alten /system/modules Modulen in Contao 4

    Hallo,

    ich habe verschiedene Installationen mit (aktuell) Contao 4.7.7 und vielen "alten" Modulen die unter /system/modules/* liegen.

    Wurde irgendwann zwischen 4.7.7 und 4.10.* etwas an der Ladereihenfolge geändert?
    Ich füge dort einige Felder z.B. bei tl_news_archive hinzu. Doch seit dem Update auf 4.10 wird das völlig ignoriert.

    Wird denn die autoload.ini überhaupt noch beachtet? Kann ich in dieser alten Struktur Contao irgendwie noch beibringen, dass ich erst das news-bundle brauche?
    Denn zum Zeitpunkt der Modifikation existiert die Palette von tl_news_archive leider noch nicht. In 4.7.7 ja, in 4.10.* nicht.

    Wäre super wenn mir hier jemand einen konkreten Tip geben könnte, wie ich mit einer einfachen Anpassung die alten Module weiter verwenden kann. Anpassung autoload.ini, oder gibt es irgendwo eine config in der ich das Ladeverhalten steuern kann?

    Danke
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

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

    Standard

    Zitat Zitat von the_scrat Beitrag anzeigen
    Wurde irgendwann zwischen 4.7.7 und 4.10.* etwas an der Ladereihenfolge geändert?
    In der neuesten Version des contao/manager-plugin hat sich da etwas geändert.



    Zitat Zitat von the_scrat Beitrag anzeigen
    Ich füge dort einige Felder z.B. bei tl_news_archive hinzu. Doch seit dem Update auf 4.10 wird das völlig ignoriert.
    Wie sieht die autoload.ini dieser Extension aus?



    Zitat Zitat von the_scrat Beitrag anzeigen
    Wird denn die autoload.ini überhaupt noch beachtet?
    Ja, wird noch beachtet.

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

    Standard

    Hi Spooky,
    danke für die rasche Antwort.


    Zitat Zitat von Spooky Beitrag anzeigen
    Wie sieht die autoload.ini dieser Extension aus?
    Die autoload.ini von z.B. einer dieser Erweiterungen sieht so aus
    Liegt unter: /system/modules/onesignal/config/
    Code:
    ;;
    ; List modules which are required to be loaded beforehand
    ;;
    requires[] = "core"
    
    ;;
    ; Configure what you want the autoload creator to register
    ;;
    register_namespaces = true
    register_classes    = true
    register_templates  = true
    
    ;;
    ; Override the default configuration for certain sub directories
    ;;
    [vendor/*]
    register_namespaces = false
    register_classes    = false
    register_templates  = false
    Inhalt der tl_news_archive.php (/system/modules/onesignal/dca/tl_news_archive.php)
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_news_archive']['palettes']['default'] = str_replace('allowComments','allowComments;{onesignal_legend},onesignal;',$GLOBALS['TL_DCA']['tl_news_archive']['palettes']['default']);

    $GLOBALS['TL_DCA']['tl_news_archive']['fields']['onesignal'] = array
    (
       
    'label'                   => &$GLOBALS['TL_LANG']['tl_news_archive']['onesignal'],
       
    'exclude'           => true,
       
    'inputType'      => 'checkbox',
       
    'foreignKey'    => 'tl_onesignal.app',
       
    'eval'                => array('mandatory'=>false'multiple'=>true),
       
    'sql'                 => "blob NULL",
       
    'relation'             => array('type'=>'hasMany''load'=>'lazy')
    ); 
    Contao 4.7.7: Hier existiert $GLOBALS['TL_DCA']['tl_news_archive']*
    Contao 4.10.*: $GLOBALS['TL_DCA']['tl_news_archive']* ist hier NULL (dementsprechend wird das Feld nicht verarbeitet oder gar angelegt).
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

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

    Standard

    Zitat Zitat von the_scrat Beitrag anzeigen
    Die autoload.ini von z.B. einer dieser Erweiterungen sieht so aus
    Liegt unter: /system/modules/onesignal/config/
    Code:
    ;;
    ; List modules which are required to be loaded beforehand
    ;;
    requires[] = "core"
    Dann ist ja auch schon der Fehler ersichtlich
    Geändert von Spooky (07.09.2020 um 13:13 Uhr)

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

    Standard

    Herzlichen Dank für die grandiose Fehleranalyse.
    Besonders hilfreich war vor allem der Hinweis darauf, dass hier lediglich ein
    Code:
    requires[] = "news"
    fehlt.

    Ganz besonders hab ich mich schlussendlich über die ausführliche Erklärung gefreut warum das so ist, da das news-bundle ja auch bereits in der 4.7.7 ein eigenes bundle ist und nicht zum "core" gehört es jedoch trotzdem funktioniert.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

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

    Standard

    Das hört man nach über 24.000 Beiträgen mit ausführlichen Erklärungen natürlich gern!

    - - - Aktualisiert - - -

    Zitat Zitat von the_scrat Beitrag anzeigen
    da das news-bundle ja auch bereits in der 4.7.7 ein eigenes bundle ist und nicht zum "core" gehört es jedoch trotzdem funktioniert.
    Auch in Contao 3 ist die News Extension eine eigene Extension und gehört nicht zum Core. Das heißt auch dort musstest du diese Abhängigkeit bereits so definieren.

  7. #7
    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
    Auch in Contao 3 ist die News Extension eine eigene Extension und gehört nicht zum Core. Das heißt auch dort musstest du diese Abhängigkeit bereits so definieren.
    Wäre mir neu, dass man unter Contao3 die News separat installieren musste. Extrathiert wurde diese doch erst mit den Bundles. Wie auch immer, funktioniert hat es mit nur require="core" bis zur 4.7.7, anschließend nicht mehr (unbekannt bei welcher Version hier genau der Break erfolgte), wo wir wieder bei der ursprünglichen Frage wären, ob sich am Ladeverhalten/reihenfolge etwas geändert hat.
    Mag ja sein, dass erstmal alles Bundles geladen werden und anschließend aus Kompatibilitätsgründen alles unter /system/modules... was der Grund sein könnte, warum es bisher funktioniert.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

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

    Standard

    Zitat Zitat von the_scrat Beitrag anzeigen
    Wäre mir neu, dass man unter Contao3 die News separat installieren musste.
    Musstest du auch nicht. Diese Extension ist Teil der Contao 3 Installation. Folgende Extensions sind von Haus aus dabei: https://github.com/contao/core/tree/3.5/system/modules



    Zitat Zitat von the_scrat Beitrag anzeigen
    Extrathiert wurde diese doch erst mit den Bundles.
    Nein, das war auch schon in Contao 2 so: https://github.com/contao/core/tree/2.11/system/modules



    Zitat Zitat von the_scrat Beitrag anzeigen
    Wie auch immer, funktioniert hat es mit nur require="core" bis zur 4.7.7, anschließend nicht mehr (unbekannt bei welcher Version hier genau der Break erfolgte), wo wir wieder bei der ursprünglichen Frage wären, ob sich am Ladeverhalten/reihenfolge etwas geändert hat.
    Wie gesagt, das wurde in der neuesten Version des contao/manager-plugin geändert. Nun ist die Ladereihenfolge von Bundles (nach Berücksichtigung der Abhängigkeiten) deterministisch und nicht mehr zufällig.



    Zitat Zitat von the_scrat Beitrag anzeigen
    Mag ja sein, dass erstmal alles Bundles geladen werden und anschließend aus Kompatibilitätsgründen alles unter /system/modules... was der Grund sein könnte, warum es bisher funktioniert.
    Bisher hatte es nur zufällig funktioniert.

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
  •