На самом деле OpenCart не удаляет переменные $ _SERVER.Он просто передает их на сервер $ this->.Проблема в том, что «HTTP_X_REQUESTED_WITH» устанавливается только в том случае, если был вызов AJAX.В противном случае это выдаст ошибку.
Вы можете проверить, был ли какой-либо из ваших запросов сделан через AJAX, добавив этот код в файл system/library/request.php
на line 32
после $this->server = $this->clean($_SERVER);
добавьте:
if(isset($this->server['HTTP_X_REQUESTED_WITH'])){
echo '<script>console.log(' . json_encode($this->server['HTTP_X_REQUESTED_WITH']) .')</script>';
}
, затем откройте ваш интерфейс OpenCart и перейдите на любую страницу продукта, и вы должны увидеть в консоли браузера XMLHttpRequest
примерно так: http://joxi.ru/MAjo6vWTjZZjBr
это потому, что на странице товара отзывы загружаются через AJAX.На домашней странице нет вызовов AJAX, поэтому вы не должны ничего видеть в консоли.
Надеюсь, это поможет.