0
votes

Tenter de mettre en œuvre la redirection () -> route mais obtenir une page vide

Donc cela devrait être vraiment simple, mais je me débats avec une raison pour une raison quelconque. J'ai une aide ( sitetools.php ) avec une fonction appelée clearCart () . 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.

Ce que j'ai essayé est plusieurs variantes de retour redirection () -> Route ('Commandummary') . Par désespoir de désespoir, j'ai essayé une retombe à en-tête ('Emplacement', '/ chronomary') . Rien qu'une page vide.

voici mon web.php dans lequel je définis les deux itinéraires: xxx

voici mon sittools .php fichier dans lequel la fonction ClearCart () réside: xxx

voici le code de ordrecheckoutController.php < / code> où je tente de mettre en œuvre ceci: xxx

mon résultat attendu est que lorsque je vais à mySite.com/clearcart qu'il va déséfinir la variable de session (laquelle elle le fait) puis rediriger vers mysite.com/ordersummary (qu'il ne contient pas)


0 commentaires

3 Réponses :


0
votes

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"));


2 commentaires

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 ::



0
votes

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 Demande () -> Session () -> Oubliez ('Cart') Code>. ou session :: oubliez ('cart'); code> p>

pour les itinéraires utilisez des itinéraires nommés, il facilitera votre douleur comme ceci: P>

Route::get('/ordersummary', array('as' =>'ordersummary','uses'=>'OrderCheckoutController@index'))->name('ordersummary');


1 commentaires

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 ...



0
votes

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();
    }


0 commentaires