Donc cela devrait être vraiment simple, mais je me débats avec une raison pour une raison quelconque. J'ai une aide ( Ce que j'ai essayé est plusieurs variantes de retour voici mon voici mon voici le code de mon résultat attendu est que lorsque je vais à sitetools.php code>) avec une fonction appelée
clearCart () code>. Son seul travail consiste à désigner une variable de session de panier, puis à rediriger vers une page de résumé de la commande pour annoncer à l'utilisateur qu'il n'y a rien dans leur panier.
redirection () -> Route ('Commandummary') Code>. Par désespoir de désespoir, j'ai essayé une retombe à
en-tête ('Emplacement', '/ chronomary') code>. Rien qu'une page vide. p>
web.php code> dans lequel je définis les deux itinéraires: p>
sittools .php code> fichier dans lequel la fonction
ClearCart () code> réside: p>
ordrecheckoutController.php < / code> où je tente de mettre en œuvre ceci: p>
mySite.com/clearcart code> qu'il va déséfinir la variable de session (laquelle elle le fait) puis rediriger vers
mysite.com/ordersummary code> (qu'il ne contient pas) p> p>
3 Réponses :
Je ne sais pas pourquoi vous utilisez une méthode différente de routage entre les deux. Si possible, modifiez l'itinéraire CommandumRy CODE> pour correspondre à la même utilisation que l'itinéraire
ClearCart CODE> (que nous connaissons les travaux). Essayez ceci:
Redirect::to(url("ordersummary"));
Donc, la raison pour laquelle je le fais de cette façon est principalement de sorte que dans la ligne d'URL de navigateur que vous voyez / chronoméaires et non / ClearCart après l'opération effectuée. Je pense que cela semblerait étrange de montrer une page de résumé de la commande avec l'URL de mysite.com/clearcart dans la ligne URL. Sur la façade ... quel fichier dois-je inclure pour accéder à cet objet redirect?
Non, c'est bien - je dis simplement essayer la route comme je l'ai écrit ci-dessus, pas avec le tableau et "comme" et tout ça. Propre et simple. Il ira toujours à Commandums, mais j'espère ne pas montrer une page vierge. Je ne voulais pas vouloir utiliser le même mot (ClearCart), juste la même utilisation de la méthode :) sur Rediriger, c'est Laravel Standard, essayez \ Redirect :: Code>
Je vous conseille d'utiliser des façades Laravel pour la manipulation de la session https://laravel.com/docs/5.8/session .
pour supprimer un Article de la session Utilisation pour les itinéraires utilisez des itinéraires nommés, il facilitera votre douleur comme ceci: P> Demande () -> Session () -> Oubliez ('Cart') Code>.
ou
session :: oubliez ('cart'); code> p>
Route::get('/ordersummary', array('as' =>'ordersummary','uses'=>'OrderCheckoutController@index'))->name('ordersummary');
Ok, alors j'ai essayé de cette façon, et toujours pas de joie. J'utilise Laravel 5.7.21, je ne sais pas si cela fait une différence ... mais l'erreur que j'essaie d'essayer d'utiliser la redirection de retour () que vous avez décrite était la suivante: "Route [Commandummary] non définie." (Panneau de gauche ) et "lancer une nouvelle nouvelle invalideAgumentException (" itinéraire [{$ nom nom}] non défini. ");" (panneau droit quand je reçois la page "whoops") j'ai changé l'instruction de route sur ce que vous avez exactement, donc pas sûr de quoi Je fais mal ici ... J'ai redémarré le serveur après avoir fait le changement - toujours pas de joie ...
OK, garçons et filles ... voici. Donc la réponse finale à cela était d'abord, dans mon web.php (où tous mes itinéraires définis résident) J'ai défini la route comme suit:
public function clearCart() { $site_tools = new SiteTools; return $site_tools->clearCart(); }