Как мне задать тип контента в Joomla?
-
02-07-2019 - |
Вопрос
Я разрабатываю компонент Joomla, и одно из представлений должно отображаться в формате PDF.В представлении я попытался установить тип содержимого с помощью следующей строки, но когда я вижу ответ, это в любом случае текст / html.
header('Content-type: application/pdf');
Если я делаю это на обычной php-странице, все работает так, как ожидалось.Кажется, мне нужно сказать Joomla использовать application / pdf вместо text / html.Как я могу это сделать?
Примечание:Установка других заголовков, таких как Content-Disposition
, работает, как и ожидалось.
Решение
Начиная с версии 1.5, в Joomla есть объект JDocument.Использование JDocument::setMimeEncoding() чтобы задать тип контента.
$doc =& JFactory::getDocument();
$doc->setMimeEncoding('application/pdf');
В вашем особом случае взгляните на JDocumentPDF ( документальный файл ) может быть, это и стоит того.
Другие советы
Для тех из вас, кто думает, что приведенный выше ответ очень старый, я подтверждаю, что JDocument::setMimeEncoding() все еще работает, даже в версии 1.6 (еще не пробовал это на 1.7).
У меня была такая же проблема в joomla 2.5.После 8 часов работы с админ-панелью joomla я нашел решение.
- Войдите в свою панель администратора joomla и нажмите на media manager
- Нажмите кнопку параметры в правом верхнем углу.Откроется вкладка конфигурации с различными опциями
- В поле для легальных расширений файлов укажите application / pdf или все, что вам нужно.Значения разделяются запятой. Обратите внимание, очевидно, вам нужно перечислить вещи в алфавитном порядке в соответствии с форумом, который я только что нашел
- Нажмите кнопку сохранить
Теперь вы должны иметь возможность загружать PDF-файлы в media Manager.Надеюсь, это сработает у вас.Я просто настроил свой на загрузку .mov
Расширения.
Проблема в том, что это сработало только один раз.Теперь ссылка обзор не работает всякий раз, когда я перехожу к файлу movie .mov на моем жестком диске.Но что произойдет, если я выберу любой другой тип файла?