Как изменить заголовок ответа сервера text/xml в OpenCart 3
Попробуем разобраться в этой непростой задаче с простым решением.
Дело в том, что по умолчанию OpenCart 3 отвечает ответом:
- Content-Type: text/html; charset=utf-8
Однако, если мы делаем, например фид для Яндекс.Директа и т. п. такой ответ будет расцениваться принимающей стороной ошибкой, и файл не будет подлежать дальнейшей обработкой.
Решение весьма простое.
В файле контроллера, в самом его низу есть похожая строчка:
$this->response->setOutput($this->load->view(‘product/xml’, $data));
Перед ней следует поставить следующую строчку
$this->response->addHeader(‘Content-Type: text/xml; charset=utf-8’);
Данное решение справедливо для OpenCart 3, однако, возможно сработает и на других версиях. В любом случае, вы поняли куда нужно копать при решении этой проблемы.