MoorleicheMoorleiche MemberComments: 141 Received thanks: 23 Member since: August 2019

Hey ich habe gerade auf meiner Demo-Seite die URL vom SalesChannel gewechselt und mir ist aufgefallen, dass meine Plugin-Controller alle auf die Root-URL zugreifen wollen.

Also kurz gesagt... Soll:

domain.de/sales-channel-x/sign-in

Ist:

domain.de/sign-in

Bekomme ach dazu eine entsprechende Fehlermeldung:

Fatal error: Uncaught Shopware\Storefront\Framework\Routing\Exception\SalesChannelMappingException: Unable to find a matching sales channel for the request: https://domain.de/sign-in". Please make sure the domain mapping is correct. in /.../vendor/shopware/storefront/Framework/Routing/RequestTransformer.php:60 Stack trace: 
#0 /.../public/index.php(71): Shopware\Storefront\Framework\Routing\RequestTransformer->transform(Object(Symfony\Component\HttpFoundation\Request)) 
#1 {main} thrown in /..../vendor/shopware/storefront/Framework/Routing/RequestTransformer.php on line 60

In meinem Fall geht es um die URL die durch den namen (der im Controller definiert wurde) in Twig erstellt wird...

twig

<form class="login-form" action="{{ path('moorl.sign-in') }}" method="post" data-form-validation="true">...</form>

controller methode

  /**
     * @Route("/sign-in", name="moorl.sign-in", methods={"POST"})
     */
    public function getAuthorizationUrl(Request $request, SalesChannelContext $context): Response
    {
      ...
    }

Hab ich irgendetwas flasch gemacht?

Comments

  • ShopwareianerShopwareianer MemberComments: 3616 Received thanks: 641 edited September 2019 Member since: November 2013

    Storefront API?

    @Route("sales-channel-api/v1/foo", name="foo.bar, methods={"POST"})

     

  • MoorleicheMoorleiche MemberComments: 141 Received thanks: 23 Member since: August 2019

    Storefront API?

    @Route("sales-channel-api/v1/foo", name="foo.bar, methods={"POST"})

     

    MIt der API hab ich es noch nicht probiert! Aber die Formular-Controller aus dem Core folgen dem selben Prinzip und dort gibt es keinen Routung-Fehler.  

     

     

  • SegSeg MemberComments: 12 Received thanks: 5 Member since: October 2018

    Hallo @Moorleiche‍,

    du musst das Routing für deine Controller erst registrieren. Dann sollte es auch mit jeder beliebigen Route klappen.
    Auch wenn wir natürlich davon abraten ungesicherte Routen ins System zu bringen.
    Wie du dein Routing registrierst kannst du hier finden.

    Grüße Sebastian

  • MoorleicheMoorleiche MemberComments: 141 Received thanks: 23 Member since: August 2019

    Hallo @Moorleiche‍,

    du musst das Routing für deine Controller erst registrieren. Dann sollte es auch mit jeder beliebigen Route klappen.
    Auch wenn wir natürlich davon abraten ungesicherte Routen ins System zu bringen.
    Wie du dein Routing registrierst kannst du hier finden.

    Grüße Sebastian

    Hallo Sebastian,

    was meinst du mit ungesicherten Routen im System? Ich sehe gerade keine Alternativen dazu. Gibt es einen Shopware Controller, der generell alle Form-Submits abfängt und als Event bereit stellt? Habe ich auch als Public-User auf dem Storefront eine Authentifizierung?

    Die Doc habe ich befolgt, die Routes funktionieren auch, nur nicht wenn ich die Root-Url des SalesChannels wechsle.

    Das Problem ist aber aktuell nur auf der EA1.1, ich hab gesehen, dass sich da was getan hat (RouteScopes etc)... Werde das mal im Blick behalten :P

     

     

     

  • huebertwebhuebertweb MemberComments: 17 Received thanks: 4 Member since: September 2017

    Hallo Zusammen, 

    ich habe den gleichen Fehler aber bisher nichts am System verändert. Nur SW6 aufgesetzt. Backend funktioniert auch nur das Frontend nicht.

    Uncaught Shopware\Storefront\Framework\Routing\Exception\SalesChannelMappingException: Unable to find a matching sales channel for the request: ...

  • xxxm3xxxm3 MemberComments: 3 Received thanks: 0 Member since: August 2019

    Ich hab auch den gleichen Fehler und bis dato noch keine Lösung gefunden, kann jemand weiterhelfen?

  • ronin030ronin030 MemberComments: 3 Received thanks: 0 Member since: November 2012

    Jede Domain muss zum Verkaufskanal hinzugefügt werden. Administration -> Verkaufskanal -> Domain hinzufügen

  • Jostshopping24Jostshopping24 MemberComments: 11 Received thanks: 1 Member since: February 21

    Oh ja ich habs... ;)

    Eine Variante der URL war noch nicht registriert!

    1000 Dank Kiss

Sign In or Register to comment.