Поиск

Предлагаемые теги:

Открыть pdf файлы в новой вкладке из Downloads в OpenCart 3

Для того чтобы PDF-файл в OpenCart 3 открывался в новом окне браузера, а не скачивался, вам нужно изменить заголовки HTTP-ответа и указать, что тип контента - это PDF и должен открываться в браузере, а не скачиваться.

Для этого вам нужно будет внести изменения в код контроллера загрузки. Вот как это можно сделать:

1. Откройте файл контроллера загрузки.

Данный файл обрабатывает скачивание PDF-файла, находится по адресу /catalog/controller/product/product.php.

2. Найдите код, который отправляет файл для скачивания (у меня это 591 строка):

$file = DIR_DOWNLOAD . $download_info['filename'];

3. Измените код, чтобы он выглядел следующим образом:

$file = DIR_DOWNLOAD . $download_info['filename'];
$this->response->addHeader('Content-Type: application/pdf'); // Указываем тип контента PDF
$this->response->addHeader('Content-Disposition: inline; filename="' . basename($file) . '"'); // inline указывает на открытие в браузере
$this->response->addHeader('Content-Length: ' . filesize($file));
readfile($file);

Здесь мы изменили Content-Disposition на inline, что указывает браузеру открывать файл в браузере, а не скачивать его. Также установили Content-Type как application/pdf, чтобы браузер знал, что это PDF-файл.

4. Сохраните файл контроллера.

Теперь, когда пользователь перейдет по ссылке для скачивания PDF-файла, файл будет открываться в новом окне браузера, а не скачиваться на компьютер.

Пожалуйста, убедитесь, что ваши файлы PDF находятся в директории, указанной в настройках OpenCart, и что пути и названия файлов соответствуют вашей конкретной конфигурации.

Теги:
Иван Третьяков
Автор

Иван Третьяков