2017-08-28 2 views
1

Nach dem Absenden eines Formulars, in einer Controller-Aktion, muss ich ein PDF in einem neuen Tab öffnen und dann auf eine andere Seite umleiten. Wenn ich dies tue:Redirect nach einer anderen Umleitung CakePHP3

Ich bekomme nur die pdf, aber nicht umleiten, um "hinzufügen" Aktion.

Wie kann ich die pdf, die in URL ist .../view/salleid.pdf und dann zur Aktion hinzufügen gehen?

EDIT

In Add-Controller Aktion

return $this->redirect(['action' => 'add', $sale->id]); 

Wieder in Add Controller-Aktion, an der Spitze

public function add($saleId = null) 
{ 
    if(isset($saleId)) 
    $this->redirect(['action' => 'view', $saleId, '_ext' => 'pdf']); 
    ... 
} 

Antwort

3

Sie sind nur für die PDF-Datei ‚, weil Sie bekommen um darauf zu verweisen. Nach der Umleitung wird die Ausführung gestoppt, sodass die nächste Umleitung nicht ausgeführt wird.

Dies kann per Browser-Beschränkung nicht durchgeführt werden: Die App hat die Header "download this" bereits an den Browser gesendet, so dass Sie den Benutzer nirgendwo umleiten können. Sie können zuerst zur Endseite umleiten und den Download von dort starten.

+0

Es ist eine gute Idee, zuerst auf die zweite Seite zu gehen und dann den Download zu starten, ich versuche es und bekomme immer noch den gleichen Fehler. Ich bekomme das PDF, aber ich werde nicht weitergeleitet. – Josecanalla

+0

Wie machst du es? Was passiert, wenn Sie den PDF-Download-Header entfernen, geht es dann auf die gewünschte Seite? Denken Sie daran, dass Sie den Download jetzt in der Controller-Aktion der resultierenden Seite durchführen müssen. – ishegg

+0

Ich habe meine Frage bearbeitet. Wenn ich die Umleitung zum PDF-Download entferne, gehe ich auf die Seite, die ich möchte. Also das Problem ist mit der Umleitung. – Josecanalla

Verwandte Themen