Jump to content
Alex--77

[1.6.1.1] Rediriger Vers La Page 404

Recommended Posts

Bonjour,

 

Lorsque je désactive un produit, je souhaiterais afficher la page 404 que j'ai personnalisé.

 Voici les manip que j'ai fait :

- Désactiver le produit dans le BO

- Rediriger lorsque inactif : j'ai choisit "pas de redirection (404)".

 

Mais lorsque je sélection cette option, j'ai un affichage pas très propre et j'ai le texte :"Il y a 1 erreur. Ce produit n'est plus disponible.". Ce n'est pas la page que j'ai personnalisé (404.tpl).

 

Dans le fichier ProductController.php, j'ai repéré ceux-ci :

switch ($this->product->redirect_type) {
    case '301':
        header('HTTP/1.1 301 Moved Permanently');
        header('Location: '.$this->context->link->getProductLink($this->product->id_product_redirected));
        exit;
    break;
    case '302':
        header('HTTP/1.1 302 Moved Temporarily');
        header('Cache-Control: no-cache');
        header('Location: '.$this->context->link->getProductLink($this->product->id_product_redirected));
        exit;
    break;
    case '404':
    default:
        header('HTTP/1.1 404 Not Found');
        header('Status: 404 Not Found');
       $this->errors[] = Tools::displayError('This product is no longer available.');
    break;

Je ne trouve pas comment faire appel à la page 404.tpl.

 

Quelqu'un a une idée ?

Edited by Alex--77 (see edit history)

Share this post


Link to post
Share on other sites

Il faut appeler la page (le controller) 404.php mais, magie de prestashop c'est pas codé pour rediriger mais pour juste claquer une 404.

 

Patch comme suit:

                        case '404':
                        default:
                            header('HTTP/1.1 404 Not Found');
                            header('Status: 404 Not Found');
                                Controller::getController('PageNotFoundController')->run();
                                die;
                            $this->errors[] = Tools::displayError('This product is no longer available.');
                        break;

  • Thanks 1

Share this post


Link to post
Share on other sites

Ah merci doekia, je savais que c'était un petit bout de code à ajouter.

 

Sans me rendre compte, j'étais prêt à recoder le controler de 404.php  :wacko: :wacko:

Share this post


Link to post
Share on other sites

Merci Doekia, j'ai utilisé ton patch cela fonctionne pour moi aussi sur une version 1.6.1.18

Pour compléter le sujet le fichier productcontroller.php se trouve dans controllers/front/

Edited by Jean André (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

Savez-vous comment rédiger une page 404 vers la page d’accueil sous PS1.6 ?

Merci !

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More