Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 40 von 72

Thema: Update Contao 3 -> 4 : Modul wird nicht berücksichtigt

  1. #1
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard Update Contao 3 -> 4 : Modul wird nicht berücksichtigt

    Hallo,

    ich habe ein Update von einem Contao 3 auf ein 4er gemacht.
    Alte Module aus /system/modules/ habe ich in das 4er Contao ebenfalls in das Verzeichnis dort kopiert

    Es handelt sich in dem Fall im eine Erweiterung, die damals für das Event / Calendar Modul gemacht worden ist.

    Offenbar wird dieses Modul im neuen Contao 4 aber nicht berücksichtigt. Ein grober var_dump() Test im Code ergab keine Ausgabe, auf dem alten System konnte
    man zumindest eine Auswirkung sehen - so dass ich davon ausgehe, dass die Dateien im Modul nicht verwendet werden.

    Das Modul heisst z_Events, damit es den bestehenden Modulen nachfolgend geladen werden kann.

    Wann muss ich tun, um das Modul zu aktivieren - auch wenn es evtl. noch Anpassungen bedarf?


    Danke

    Thomas

  2. #2
    Contao-Nutzer
    Registriert seit
    10.06.2021.
    Beiträge
    242
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Anwendungs-Cache geleert?

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

    Standard

    Falls noch nicht vorhanden, lege in der Extension eine config/autoload.ini mit folgendem Inhalt an:
    Code:
    requires[] = "calendar"
    Danach den Ordner var/cache/prod manuell löschen und danach "Abhängigkeiten installieren" in der Contao Manager Systemwartung ausführen.
    » sponsor me via GitHub or PayPal or Revolut

  4. #4
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Puh, da kommen Fehler bei den Abhängigkeiten:


    PHP-Code:


    Installing dependencies from lock file
    Verifying lock file contents can be installed on current platform
    .
    Nothing to installupdate or remove
    Generating optimized autoload files
    Class Contao\ManagerPlugin\PluginLoader located in ./vendor/contao/manager-plugin/src/Resources/PluginLoader.php does not comply with psr-4 autoloading standardSkipping.
    contao/manager-pluginDumping generated plugins file...
    contao/manager-plugin: ...done dumping generated plugins file

    Notice
    tempnam(): file created in the system's temporary directory in /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php on line 684

    Fatal error: Uncaught ValueError: Path cannot be empty in /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php:692
    Stack trace:
    #0 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php(692): file_put_contents('', '
    shouldEnableEntityLoader()
    #2 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/config/Util/XmlUtils.php(89): Symfony\Component\DependencyInjection\Loader\XmlFileLoader->validateSchema(Object(DOMDocument), false)
    #3 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/config/Util/XmlUtils.php(146): Symfony\Component\Config\Util\XmlUtils::parse('parseFileToDOM('/is/htdocs/wp10...')
    #6 /is/htdocs/wpXXXXX/www/update2022/vendor/doctrine/doctrine-bundle/DependencyInjection/DoctrineExtension.php(123): Symfony\Component\DependencyInjection\Loader\XmlFileLoader->load('dbal.xml')
    #7 /is/htdocs/wpXXXXX/www/update2022/vendor/doctrine/doctrine-bundle/DependencyInjection/DoctrineExtension.php(94): Doctrine\Bundle\DoctrineBundle\DependencyInjection\DoctrineExtension->dbalLoad(Array, Object(Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationContainerBuilder))
    #8 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/dependency-injection/Compiler/MergeExtensionConfigurationPass.php(76): Doctrine\Bundle\DoctrineBundle\DependencyInjection\DoctrineExtension->load(Array, Object(Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationContainerBuilder))
    #9 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php(42): Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationPass->process(Object(Contao\ManagerPlugin\Config\ContainerBuilder))
    #10 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/dependency-injection/Compiler/Compiler.php(82): Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfigurationPass->process(Object(Contao\ManagerPlugin\Config\ContainerBuilder))
    #11 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/dependency-injection/ContainerBuilder.php(757): Symfony\Component\DependencyInjection\Compiler\Compiler->compile(Object(Contao\ManagerPlugin\Config\ContainerBuilder))
    #12 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/http-kernel/Kernel.php(546): Symfony\Component\DependencyInjection\ContainerBuilder->compile()
    #13 /is/htdocs/wpXXXXX/www/update2022/vendor/contao/manager-bundle/src/HttpKernel/ContaoKernel.php(296): Symfony\Component\HttpKernel\Kernel->initializeContainer()
    #14 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/http-kernel/Kernel.php(787): Contao\ManagerBundle\HttpKernel\ContaoKernel->initializeContainer()
    #15 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/http-kernel/Kernel.php(128): Symfony\Component\HttpKernel\Kernel->preBoot()
    #16 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/framework-bundle/Console/Application.php(168): Symfony\Component\HttpKernel\Kernel->boot()
    #17 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/framework-bundle/Console/Application.php(74): Symfony\Bundle\FrameworkBundle\Console\Application->registerCommands()
    #18 /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/console/Application.php(171): Symfony\Bundle\FrameworkBundle\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
    #19 /is/htdocs/wpXXXXX/www/update2022/vendor/contao/manager-bundle/bin/contao-setup(44): Symfony\Component\Console\Application->run()
    #20 /is/htdocs/wpXXXXX/www/update2022/vendor/bin/contao-setup(120): include('/is/htdocs/wp10...')
    #21 {main}
      
    thrown in /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php on line 692
    108 packages you are using are looking 
    for funding.
    Use 
    the `composer fundcommand to find out more!
    > @
    php vendor/bin/contao-setup
    Script 
    @php vendor/bin/contao-setup handling the post-install-cmd event returned with error code 255

    # Process terminated with exit code 255
    # Result: Unknown error 

  5. #5
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Oder kann ich hier was einstellen, dass die Fehlermeldung:

    PHP-Code:
    Noticetempnam(): file created in the system's temporary directory in /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php on line 684

    Fatal error: Uncaught ValueError: Path cannot be empty in /is/htdocs/wpXXXXX/www/update2022/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php:692 
    nicht auftritt? Das scheint zumindest für diese Fehlerausgabe das Problem zu sein.

  6. #6
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.335
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du könntest den Hoster wechseln. Hosteurope hat die Webpacks so konfiguriert, dass Contao nicht installierbar ist.

  7. #7
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Ja, ich vermute das auch.

    Dann muss es halt sein.
    Ich bin mit einigen Projekten bei 1blu - das ist bislang ganz gut gegangen, soll aber auch eher so mittel sein.

  8. #8
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Falls noch nicht vorhanden, lege in der Extension eine config/autoload.ini mit folgendem Inhalt an:
    Code:
    requires[] = "calendar"
    Danach den Ordner var/cache/prod manuell löschen und danach "Abhängigkeiten installieren" in der Contao Manager Systemwartung ausführen.
    Mh, das hat leider nichts gebracht .... auch "Abhängigkeiten installieren" hat nichts geändert,
    das eine Modul wird offenbar nicht verwendet.

    Wie kann ich das zumindest weiter checken, dass das Modul mit geladen wird?

    Danke

    Thomas

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

    Standard

    Zitat Zitat von Thomas Pyrin Beitrag anzeigen
    Mh, das hat leider nichts gebracht .... auch "Abhängigkeiten installieren" hat nichts geändert,
    Was genau meinst du mit "auch"? Es wird nicht funktionieren wenn du einen dieser 3 Schritte ausgelassen hast.
    » sponsor me via GitHub or PayPal or Revolut

  10. #10
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Nein ich hab schon alle drei Schritte ausgeführt.
    Das Modul wird nicht "erkannt" oder wenigstens versucht zu laden

    Das Projekt liegt mittlerweile zu Testzwecken auch auf einem anderen Hoster und "Abhängigkeiten installieren" läuft auch ohne Fehler durch.

    Das scheint zumindest alles ok, aber wenn ich am Modul in einer Datei ändere - auch z.B. nur ein var_dump() um zu testen, ob überhaupt was ausgegeben wird,
    passiert rein gar nichts.

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

    Standard

    Wenn du das var_dump in config/* oder dca/* hinzufügst, siehst du das nur, wenn du dann auch nochmal "Abhängigkeiten installieren" ausführst bzw. den Symfony Application Cache neu aufbaust.
    » sponsor me via GitHub or PayPal or Revolut

  12. #12
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Betrifft das vielleicht auch den Thread hier?

    https://community.contao.org/de/show...-nicht-geladen

    Das ist ja auch ein altes Contao 3 Modul -> und hat eine geänderte ModuleEventReader.php in dem Modul.

  13. #13
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    In meiner autoload.php steht:

    PHP-Code:
    ClassLoader::addClasses(array
    (
        
    // Models
        
    'Contao\CalendarEventsModel' => 'system/modules/z_events/models/CalendarEventsModel.php',

        
    // Modules
        
    'Contao\ModuleEventReader'   => 'system/modules/z_events/modules/ModuleEventReader.php',
        
    'Contao\ModuleCalendar'      => 'system/modules/z_events/modules/ModuleCalendar.php',
        
    'Contao\ModuleEventlist'     => 'system/modules/z_events/modules/ModuleEventlist.php',

        
    // Classes
        
    'Contao\EventsExt'           => 'system/modules/z_events/classes/EventsExt.php',
        
    'GetEventsForSearch'         => 'system/modules/z_events/GetEventsForSearch.php',
    )); 
    ist da evtl. noch was falsch?

    Ich suche halt immer noch .....

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

    Standard

    Ja das ist falsch. Bzw. das geht in Contao 4 schlicht nicht (mehr). Also du kannst so nicht mehr bestehende Klassen aus dem Core überschreiben.
    » sponsor me via GitHub or PayPal or Revolut

  15. #15
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ja das ist falsch. Bzw. das geht in Contao 4 schlicht nicht (mehr). Also du kannst so nicht mehr bestehende Klassen aus dem Core überschreiben.
    Ah ok, wo finde ich Tipss, wie das jetzt zu machen ist?

    Oder ginge das gar nicht mehr?

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

    Standard

    Das geht gar nicht mehr. Was aber schon noch geht ist, dass du die registrierten Module ersetzt - oder einfach eigene Module daraus machst.
    » sponsor me via GitHub or PayPal or Revolut

  17. #17
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Mh, gibt es ein aussagekräftiges Beispiel dafür, wie ich das machen kann?
    Eben für diese 6 Punkte?

    PHP-Code:
    ClassLoader::addClasses(array
    (
        
    // Models
        
    'Contao\CalendarEventsModel' => 'system/modules/z_events/models/CalendarEventsModel.php',

        
    // Modules
        
    'Contao\ModuleEventReader'   => 'system/modules/z_events/modules/ModuleEventReader.php',
        
    'Contao\ModuleCalendar'      => 'system/modules/z_events/modules/ModuleCalendar.php',
        
    'Contao\ModuleEventlist'     => 'system/modules/z_events/modules/ModuleEventlist.php',

        
    // Classes
        
    'Contao\EventsExt'           => 'system/modules/z_events/classes/EventsExt.php',
        
    'GetEventsForSearch'         => 'system/modules/z_events/GetEventsForSearch.php',
    )); 
    das wäre grossartig.

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

    Standard

    Punkt 1 funktioniert nicht.

    Für Punkt 2, 3 und 4 (= Frontendmodule) gibt es hier eine Anleitung - aber nur für den modernen Weg. Der Legacy Weg ist aktuell nirgendwo erklärt.

    Punkt 5 weiß ich nicht was das ist - ist jedenfalls nichts aus dem Core. Evt. eine eigene Klasse die dann auch weiterhin funktionieren sollte.

    Punkt 6 ist vermutlich eine eigene Klasse, die auch weiterhin funktionieren sollte.
    » sponsor me via GitHub or PayPal or Revolut

  19. #19
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Ah, danke sehr - das probiere ich zumindest für die Frontend-Module mal aus.

    Gibt es in dieser Hinsicht gute deutsche Tutorials, die sich der gesamten Modulentwickling angenommen haben?
    Das Problem bei solchen Dingen ist ja meistens, dass man die Änderungen möglichst gleich machen möchte und da helfen Schritt für Schritt Anleitungen meistens sehr gut.

    Die Code-Schnipsel sind manchmal sehr begrenzt und es fehlt das drumherum zum Verständnis. Mir ist klar, dass die Umstellung mit Contao 4 sehr tiefgreifend war,
    aber ich mag Contao sehr und würde es grundlegender verstehen wollen - mit auch Erfolgen, die den Aufbau nachvollziehen lassen.

    Wenn man nun vor der Aufgabe steht, Module aus z.B. einem alten Contao zu übernehmen und noch keine grossen Erfahrungen mit Symfony und Contao 4 hat,
    dann ist es frustrierend, wenn man erst mal ein halbes Jahr (ich übertreibe vielleicht) Grundlagen-Forschung betreiben muss, um vorwärts zu kommen.
    Und die Lösung soll ja nicht ein halbes Jahr lang warten.
    Das gehört vielleicht auch eher ins Entwickler-Forum - aber evtl. ist es auch nicht gewollt, dass ein Einstieg in die Contao-Anpassung und Erweiterung so nachvollziehbar war, wie in der 3er Version.

    Ich finde es halt schade, dass der Einstieg in die 4er Version so schwierig dokumentiert ist - was sicher auch an mir liegt.

    Danke sehr

    Thomas
    Geändert von Thomas Pyrin (24.08.2023 um 08:32 Uhr)

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

  21. #21

  22. #22
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Gibt es eine Möglichkeit, wie man die Datei

    /vendor/contao/calendar-bundle/src/Resources/contao/models/CalendarEventsModel.php

    erweitern bzw. überschreiben kann?


    Vielen Dank

    Thomas

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

    Standard

    Nicht wirklich. Was genau möchtest du denn erreichen?
    » sponsor me via GitHub or PayPal or Revolut

  24. #24
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Ich habe in diese Datei in einer älteren Contao Version mal eine extra Methode eingebaut - eine eigene Abwandlung einer "findBy ...." Methode
    und mich würde interessieren, wie man so was mit dem Contao4 machen würde.

    Thomas

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

    Standard

    Wo rufst du diese Methode dann auf? Wenn du das in deinem eigenen Code machst, dann kannst du ja einfach eine eigene Model Klasse anlegen, die von CalendarEventsModel erbt.
    » sponsor me via GitHub or PayPal or Revolut

  26. #26
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Ich hab mir das damals mit dem Contao 3 so hingebogen dass es klappt und tu mich gerade eben schwer, dass auf Contao 4 zu realisieren.

    Das Problem ist folgendes:

    Es werden viele Termine verwaltet und diese mit diversen Wiederholungen. Aus Organisationsgründen bezüglich der komplexen Wiederholungen sind diverse Events angelegt worden, die den gleichen Namen haben.

    In einer kalendarischen Ansicht oder Liste ist das kein Problem.

    Aber: Es werden auch Termine über Kategorien zusammengefasst. Und in diesen Listen je Kategorie sollen gleichnamige Termine auch nur einmal auftauchen.
    Weiterhin sollen auf der Detailseite eines Termines eine Anzahl von Wiederholungsterminen ausgegeben werden, hier dann natürlich auch die Wiederholungen des gleichnamigen Termins.

    Und zu meiner Schande, ich kann es - weil zu lange her - momentan auch nicht mehr ganz nachvollziehen, wie das damals gemacht worden ist.
    Rein theoretisch könnte man das auch halbwegs per Template lösen und doppelte Namen abfangen, aber das würde ein Paging durcheinander bringen, weil über das Template ja erst im nachhinein was am
    Datenbank-Result verändert wird.

    Und wie gesagt, ich tu mich schwer mit dem "dann kannst du ja einfach eine eigene Model Klasse anlegen, die von CalendarEventsModel erbt. "
    Im Contao 3 war das noch einfacher nachzuvollziehen.

    Ganz vereinzelt habe ich das im Contao 4 mit anderen Sachen auch schonmal hinbekommen, aber hier stecke ich gerade etwas fest.

  27. #27
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Wenn ich den Anfang hab, wie ich die Klassen von den Modulen / Models überschreiben kann, dann krieg ich das auch wieder, aber ich hänge am Anfang und sehe den Wald vor lauter Bäumen nicht.
    Bei Contao 3 war es die eine Datei - bei Contao 4 muss es eine große Verzeichnisstruktur sein .... und ich will ja keine ganz neue Erweiterung. Nur eine Abwandlung.

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

    Standard

    Zitat Zitat von Thomas Pyrin Beitrag anzeigen
    Und wie gesagt, ich tu mich schwer mit dem "dann kannst du ja einfach eine eigene Model Klasse anlegen, die von CalendarEventsModel erbt. "
    Womit genau tust du dir schwer? Um helfen zu können brauchen wir genauere Informationen wobei du genau Hilfe benötigst.


    Zitat Zitat von Thomas Pyrin Beitrag anzeigen
    Im Contao 3 war das noch einfacher nachzuvollziehen.
    Root Class Replacement hat zwar in Contao 2 und 3 tlw. funktioniert, war aber auch da nicht unbedingt best practice.
    » sponsor me via GitHub or PayPal or Revolut

  29. #29
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Theoretisch würde ich nach dieser "Anleitung" gehen: https://docs.contao.org/dev/guides/f...existing-class

    In meinem Beispiel raussuchen, nach welcher Methode Event Listen erstellt werden, diese Methode überschreiben und ein GROUP BY nach Event-Titel hinzufügen.
    Ich glaube mich auch zu erinnern, dass es verschiedene Methoden für Event-List gibt.

    Datei anlegen:

    im Pfad: src/Controller/FrontendModule/CustomEventList.php (?)
    bzw. wo steht auf der oben genannten Hilfe, wo - in welchem Verzeichnis die Datei liegen soll?

    Dann in dieser Datei:

    PHP-Code:

    // src/Controller/FrontendModule/AppExampleController.php
    namespace App\Controller\FrontendModule;

    use 
    Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
    use 
    Contao\ModuleModel;
    use 
    Contao\ModuleNewsList;
    use 
    Symfony\Component\HttpFoundation\Response;

    #[AsFrontendModule(category: 'news')]
    class AppExampleController extends ModuleNewsList
    {
        public function 
    __construct() {}

        public function 
    __invoke(ModuleModel $modelstring $section): Response
        
    {
            
    parent::__construct($model$section);

            return new 
    Response($this->generate());
        }
        
        
    // Do whatever you want here, e.g. override parent methods

    Das Anpassen auf das Modul Event Liste?

    // src/Controller/FrontendModule/AppExampleController.php

    würde für mich bedeuten, im Root Verzeichnis ein Verzeichnis src/Controller ... erstellen?

    Habe ich das richtig verstanden?


    Allerdings wird im Module für die Event-Liste nicht die Möglichkeit sein, das GROUP BY mit einzufügen, daher muss das eher vermutlich im CalendarEventModel hinzugefügt werden.
    Theoretisch wüsste ich was zu tun ist, nur die Strukturen für Contao 4 sind mir da unklar. Und ich denke dann immer, kann ja nicht so schwer sein.
    Geändert von Thomas Pyrin (15.09.2023 um 06:46 Uhr)

  30. #30
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.943

    Standard

    Zitat Zitat von Thomas Pyrin Beitrag anzeigen
    // src/Controller/FrontendModule/AppExampleController.php

    würde für mich bedeuten, im Root Verzeichnis ein Verzeichnis src/Controller ... erstellen?

    Habe ich das richtig verstanden?
    Ja.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  31. #31
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Zitat Zitat von fiedsch Beitrag anzeigen
    Ja.
    Ich habe das hier einmal nachgestellt und eine NewsListe ausgegeben.
    Zum Testen, ob der AppExampleController geladen wird, hab ich in der Datei ein var_dump() ausgegeben.
    Da passiert leider gar nichts.

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

    Standard

    Poste den Code des Controllers.
    » sponsor me via GitHub or PayPal or Revolut

  33. #33
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Original der aus dem Beispiel - mit einem var_dump()

    PHP-Code:


    // src/Controller/FrontendModule/AppExampleController.php
    namespace App\Controller\FrontendModule;

    use 
    Contao\CoreBundle\DependencyInjection\Attribute\AsFrontendModule;
    use 
    Contao\ModuleModel;
    use 
    Contao\ModuleNewsList;
    use 
    Symfony\Component\HttpFoundation\Response;

    #[AsFrontendModule(category: 'news')]
    class AppExampleController extends ModuleNewsList
    {
        public function 
    __construct() {}

        public function 
    __invoke(ModuleModel $modelstring $section): Response
        
    {

            
    var_dump($model);
            
            
    parent::__construct($model$section);

            return new 
    Response($this->generate());
        }
        
        
    // Do whatever you want here, e.g. override parent methods


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

    Standard

    Damit sollte dir ein neues Frontend Modul unter dem Namen "app_example" zur Verfügung stehen. Ist das der Fall?
    » sponsor me via GitHub or PayPal or Revolut

  35. #35
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Tut mir leid, wo sollte ich das sehen?

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

    Standard

    Im Contao Backend unter Layout » Themes » Edit the front end modules of theme ID […] » New oder bestehendes Modul bearbeiten » Module type
    » sponsor me via GitHub or PayPal or Revolut

  37. #37
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    Ja, da hatte ich geschaut, da ist nichts neues hinzugekommen.

    Nur zum Verständnis für mich - woher sollte der Name "app_example" kommen, der steht in dem Code nirgends?

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

    Standard

    Zitat Zitat von Thomas Pyrin Beitrag anzeigen
    Ja, da hatte ich geschaut, da ist nichts neues hinzugekommen.
    Poste mal die Ausgabe von
    Code:
    vendor/bin/contao-console debug:container AppExampleController
    um zu prüfen, ob dein Controller überhaupt korrekt registriert ist.


    Zitat Zitat von Thomas Pyrin Beitrag anzeigen
    Nur zum Verständnis für mich - woher sollte der Name "app_example" kommen, der steht in dem Code nirgends?
    Da du keinen Type dediziert angegeben hast, wird der Type aus dem Klassennamen abgeleitet, in deinem Fall also "app_example". Siehe https://docs.contao.org/dev/framewor...es/#definition
    » sponsor me via GitHub or PayPal or Revolut

  39. #39
    Contao-Nutzer
    Registriert seit
    20.01.2022.
    Beiträge
    205

    Standard

    ja ist nicht registriert:

    PHP-Code:

    CRITICAL  
    [consoleError thrown while running command "debug:container AppExampleController"Message"No services found that match "AppExampleController"." ["exception" => Symfony\Component\Console\Exception\InvalidArgumentException^ { },"command" => "debug:container AppExampleController","message" => "No services found that match "AppExampleController"."]

                                                            
      
    No services found that match "AppExampleController"

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

    Standard

    Hast du nach dem Anlegen der Datei composer install ausgeführt?
    » sponsor me via GitHub or PayPal or Revolut

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
  •