Ergebnis 1 bis 4 von 4

Thema: 4.4: Routing mit multiplen Controller Actions

  1. #1
    Contao-Nutzer
    Registriert seit
    17.01.2020.
    Beiträge
    111

    Standard 4.4: Routing mit multiplen Controller Actions

    Hallo liebe Community,

    ich stehe gerade etwas auf dem Schlauch. Ich hatte mir das AppBundle für Contao 4.4 eingerichtet und hat auch alles problemlos funktioniert. Nun wollte ich eine eigene Route + einen Controller mit zwei Actions hinzufügen. Wahrscheinlich würde ich es mir gelingen, wenn ich pro Action eine eigene Route anlege, aber ich habe mich gefragt, ob es nicht möglich ist, dass alles in eins zu packen. Aktuell sieht es so aus:

    routing.yml
    PHP-Code:
    favourite:
        
    path: /favourite/insert/
        
    defaults:
            
    _controller'AppBundle\Controller\FavouriteController::insertAction'
            
    _scopefrontend
            _token_check
    false

        path
    : /favourite/delete/
        
    defaults:
            
    _controller'AppBundle\Controller\FavouriteController::deleteAction'
            
    _scopefrontend
            _token_check
    false 
    Innerhalb des entsprechenden Controllers sind die 2 Actions definiert. Ich kann die oberste URL aufrufen und der Controller macht seine Sache. Bei der zweiten URL bekomme ich leider einen 404 Fehler. Ich bin mir nicht sicher, ob man den Code so schreiben kann, da ich leider auch nichts bis dato gefunden habe, um es gegenzuprüfen. Ich hatte auch schon überlegt, ob man einfach es so gestalten könnte:

    PHP-Code:
    favourite:
        
    path: /favourite/{action}/
        
    defaults:
            
    _controller'AppBundle\Controller\FavouriteController::insertAction'
            
    _scopefrontend
            _token_check
    false
        requirements
    :
            
    action: (insert|delete
    Aber hatte ich jetzt noch nicht ausprobiert. Weiß jemand, wie die richtige Verwendung hier wäre?

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

    Standard

    Zitat Zitat von asfga Beitrag anzeigen
    Hallo liebe Community,

    ich stehe gerade etwas auf dem Schlauch. Ich hatte mir das AppBundle für Contao 4.4 eingerichtet und hat auch alles problemlos funktioniert. Nun wollte ich eine eigene Route + einen Controller mit zwei Actions hinzufügen. Wahrscheinlich würde ich es mir gelingen, wenn ich pro Action eine eigene Route anlege, aber ich habe mich gefragt, ob es nicht möglich ist, dass alles in eins zu packen. Aktuell sieht es so aus:

    routing.yml
    PHP-Code:
    favourite:
        
    path: /favourite/insert/
        
    defaults:
            
    _controller'AppBundle\Controller\FavouriteController::insertAction'
            
    _scopefrontend
            _token_check
    false

        path
    : /favourite/delete/
        
    defaults:
            
    _controller'AppBundle\Controller\FavouriteController::deleteAction'
            
    _scopefrontend
            _token_check
    false 
    Gibt dir Symfony hier nicht einen Fehler? Du kannst nicht mehrere paths etc. pro Route haben. Du musst das in mehrere Routen auftrennen.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Contao-Nutzer
    Registriert seit
    17.01.2020.
    Beiträge
    111

    Standard

    Okay danke, dachte ich mir schon, aber hätte ja sein können, dass es eine elegantere Lösung gibt.

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

    Standard

    Eleganter finde ich Annotations
    » 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
  •