Перейти к содержимому
Русский язык для Invision Community 5

Кликабельные миниатюры pdf IPS 4.3.x

Можно такое реализовать с PDF в постах*?

После загрузки документа в пост, отображается его миниатюра, после нажатие на миниатюру переход на просмотр документа в новом окне? А по стандарту просто скачивается документ)

Рекомендованные сообщения

Это зависит от браузера, если он разрешает просматривать pdf файлы. Какой mime type у этого расширение?

  • Автор

pdf

Не расширение, а MIME. Он должен быть application/pdf, тогда браузер не будет скачивать а открывать файл (как реализовано в IPS управление типами аттачей не знаю, нет его сейчас под рукой, но в тройке по мимо расширение можно было указать и миме тип).

  • Автор

Стандартный тип MIME application/pdf. Назначение определено в RFC 3778

По умолчанию в IPS есть все чтобы открыть pdf в браузере. Не хватает только одного, указать в заголовке Content-Disposition: attachment; filename="file.pdf" чтобы файл открывался внутри веб страницы: Content-Disposition: inline; filename="file.pdf"

 

В коде это можно отредактировать в \applications\core\interface\file\attachment.php

Найти

\IPS\Output::getContentDisposition( 'attachment', $attachment['attach_file'] )

Заменить на

IPS\Output::getContentDisposition( in_array( $attachment['attach_ext'], array( 'pdf' ) ) ? 'inline' : 'attachment', $attachment['attach_file'] )

 

Эстеты могут написать плагин, захуков метод IPS\Output::getContentDisposition.

С превью к сожалению уже сложней. Тут нужно править код при загрузке файла и создать для него миниатюры какой нибудь библиотекой, например, imagemagiсk.

  • Автор

Спасибо. Вообще огонь

 

С превью к сожалению уже сложней. Тут нужно править код при загрузке файла и создать для него миниатюры какой нибудь библиотекой, например, imagemagiсk.

Про миниатюру передал, чтоб если-что заказали модификацию у Вас ;)

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.