Как установить тип контента в Joomla? - PullRequest
6 голосов
/ 25 сентября 2008

Я занимаюсь разработкой компонента Joomla, и одно из представлений должно отображаться в формате PDF. В представлении я попытался установить тип содержимого с помощью следующей строки, но когда я вижу ответ, в любом случае это text / html.

header('Content-type: application/pdf');

Если я делаю это на обычной странице php, все работает как положено. Кажется, мне нужно сказать Joomla использовать application / pdf вместо text / html. Как я могу это сделать?

Примечание. Настройка других заголовков, таких как Content-Disposition, работает должным образом.

Ответы [ 3 ]

12 голосов
/ 25 сентября 2008

Начиная с версии 1.5, Joomla имеет объект JDocument. Используйте JDocument :: setMimeEncoding () , чтобы установить тип содержимого.

$doc =& JFactory::getDocument();
$doc->setMimeEncoding('application/pdf');

В вашем особом случае стоит посмотреть JDocumentPDF .

1 голос
/ 07 сентября 2011

Для тех, кто думает, что приведенный выше ответ является очень старым, я подтверждаю, что JDocument :: setMimeEncoding () все еще работает, даже в версии 1.6 (еще не пробовал в 1.7).

0 голосов
/ 17 декабря 2012

У меня была такая же проблема в Joomla 2.5. После 8 часов работы в админ-панели joomla я нашел решение.

  1. Войдите в вашу админ-панель Joomla и нажмите на медиа-менеджер
  2. Нажмите кнопку параметров в верхнем правом углу. Это открывает вкладку конфигурации с различными параметрами
  3. В поле для юридических расширений файлов, приложение / PDF или все, что вам нужно. Значения разделяются запятой. Обратите внимание, очевидно, вы должны перечислять вещи в алфавитном порядке в соответствии с форумом, который я только что нашел
  4. Нажмите кнопку Сохранить

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

Проблема в том, что это сработало только один раз. Теперь ссылка на просмотр не работает, когда я перехожу к файлу .mov фильма на моем жестком диске. Но это делает, если я выбираю любой другой тип файла?

...