wenn ich im Twig Template eine Order debugge, ist „documents“ auf null, obwohl ich im Backend die Dokumente wie z.B. Lieferschein oder Rechnung erstellt habe und auch runterladen kann.
Ist das ein Shopware Bug oder muss ich im Backend noch eine Einstellung vornehmen? Ich wollte einen Controller bauen, der mithilfe der OrderNumber die Rechnung raussucht, aber habe keine Idee wie ich das machen soll. Shopware sucht die Dokumente anhand der $documentId und $deepLinkCode (Was auch immer das ist), auf die ich ja kein Zugriff habe.
Die Association auf die Dokumente wird standardmäßig nicht geladen:
Ob das so gewollt ist, keine Ahnung. Am besten Ticket erstellen.
ggf. derweil die Methode decoraten und um ->addAssociation('documents') erweitern. Bin mir aber grad nicht sicher, ob ein PageLoader als Service geladen wird und man ihn überhaupt erweitern kann…
Vielen Dank für die Info. Ich habe das mal grad Im Core Code erweitert und es funktioniert. Wie kann ich die function am bsten überschreiben? Hast du eventuell ein Beispiel?
namespace ......... use Shopware\Storefront\Event\RouteRequest\OrderRouteRequestEvent; use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class OrderSubscriber implements EventSubscriberInterface { public function \_\_construct() { } public static function getSubscribedEvents() { return [OrderRouteRequestEvent::class =\> 'onOrderPageLoaded']; } public function onOrderPageLoaded(OrderRouteRequestEvent $event) { $criteria = $event-\>getCriteria(); $criteria-\>addAssociation('documents'); } }
Im services.xml vom Plugin dann noch registrieren als Subscriber.
Im Template ist dann die
order.documents
verfügbar, was immer man dann damit auch machen will.
Hallo @WernerBu ,
vielen Dank für den Code.
Nutzt du diesen Subscriber noch? Gibt es ein Update für Version 6.4.20.2?
In dieser Version steht die Variable order.documents bereits zur Verfügung. Allerdings werden die Dokumente erst angezeigt, wenn sie zuvor per E-Mail versendet wurden und in der Datenbanktabelle ‚document‘ die Spalte ‚sent‘ den Wert 1 hat.
Weißt du ob es eine Möglichkeit gibt alle Dokumente im Storefront anzuzeigen, egal ob sie per E-Mail verschickt wurden, oder nicht?