Schaltet das Standardverhalten von Prestashop out ist zu umleiten. Es war kein Override. Wie auch immer - ich habe einen Weg gefunden, das zu erreichen, was ich sowieso machen wollte.
Nach einiger Zeit damit zu kämpfen - ich kam mit einer verzögerten Lösung, das wird für jetzt tun. Ich teile es hier, weil ich sicher gewesen wäre, es vor ein paar Tagen zu finden, aber sei gewarnt - es ist so weit zurückgeholt, dass es keine Rückkehr mehr gibt. Nicht empfohlen, wenn Sie etwas anderes finden können.
Was ich getan habe, war dies - ich fand die CategoryController.php Datei im Ordner Controller/Front /. Es sollte diese Zeile sein:
if (!$this->category->active)
Darin Ich mache ein PHP file_get_contents zum 404.html Seite der Website anfordern, und sie dienen. Danach beende ich das PHP-Skript mit einem exit(); Befehl.
Auf diese Weise sendet der Server den 404.html Inhalt, ohne Umleitung. Hier ist der vollständige Code:
header('HTTP/1.1 404 Not Found');
header('Status: 404 Not Found');
echo file_get_contents('https://website.com/404/'
false,
stream_context_create(
array(
'http' => array(
'ignore_errors' => true
)
)
)
);
exit();
Sie nicht vergessen, dass, wenn der Controller überschrieben wird es nicht richtig funktionieren kann.
in der Regel diese Veränderungen auftreten, in der Klasse/controllers/frontControllers.php oder Controller/Front/PageNotFoundController.php. Diese Dateien wurden geändert oder überschrieben? –