Jump to content

"Continuer mes achats" --> page_produit?content_only=1


Recommended Posts

Bonjour,

Je n'arrive pas à trouver de réponse sur les forums, ni par moi-même en mettant les mains dans le cambouis.
D'où ce petit topic...

Je suis géné par le fait qu'après avoir ajouté un produit au panier en mode "aperçu rapide", si on clique sur "continuer mes achats", on tombe sur la fiche produit en affichage "content_only", ce qui n'est pas du tout user-friendly en matière de navigation sur mon magasin...

J'aimerais donc virer ce paramètre "?content_only=1", mais je ne sais quel fichier modifier pour ce faire.

Un(e) expert(e) aurait-il/elle la réponse à ce souci ?

Merci d'avance ! :)
 

Edited by Axel - CBNMinéraux (see edit history)
Link to comment
Share on other sites

Exact, autant pour moi, je pensais que c'était un bouton dans la fenetre aperçu rapide^^

 

Bon il y a une solution, car ce truc n'a pas été pensé mais bon...

 

Dans la classe Tools.php, vers la ligne 437 ajoutez une ligne à la fonction secureReferrer ce qui va vous donner ceci:

    public static function secureReferrer($referrer)
    {
        $referrer = str_replace('?content_only=1', '', $referrer);
        if (preg_match('/^http[s]?:\/\/'.Tools::getServerName().'(:'._PS_SSL_PORT_.')?\/.*$/Ui', $referrer)) {
            return $referrer;
        }
        return __PS_BASE_URI__;
    }

L'idéal est de faire un override de cette classe garder vos modifs lors d'une mise à jour...

Link to comment
Share on other sites

Pfff j'aurais jamais trouvé ça tout seul  :blink:

Merci pour cette soluce, cela fonctionne !! :)

Par contre pour l'override, il va falloir que je potasse un peu avant, mais là pas le temps, donc ce sera de la modif en dur...

 

Je fais la traduction de votre astuce en anglais pour partager votre science avec nos camarades d'Outre-Manche et d'Outre-Atlantique qui sèchent ;)

--> https://www.prestashop.com/forums/topic/575502-continue-shopping-points-you-to-content-only1/?p=2493340

Edited by Axel - CBNMinéraux (see edit history)
Link to comment
Share on other sites

pour l'override, vous créez un fichier qui s'appelle Tools.php et vous le mettez dans /override/classes/

 

Si ce fichier existe déjà, il suffira d'y rajouter votre fonction.

Dans le cas contraire vous mettez juste ceci:

<?php

class Tools extends ToolsCore
{
    
    public static function secureReferrer($referrer)
    {
        $referrer = str_replace('?content_only=1', '', $referrer);
        if (preg_match('/^http[s]?:\/\/'.Tools::getServerName().'(:'._PS_SSL_PORT_.')?\/.*$/Ui', $referrer)) {
            return $referrer;
        }
        return __PS_BASE_URI__;
    }
} 

Et vous enregistrez puis vous supprimez le fichier /cache/class_index.php (il sera régénéré aussitôt et prendra en compte votre override)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...