Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Как сделать предпросмотр прикрепленных файлов IPB 3.2.3

Хочу чтобы был предпросмотр прикрепленных PDF Doc xls ppt и прочих файлов через google docs.

нашел что для этого можно использовать один из следующих способов:

 

1. C использованием элемента <embed>.

 

<embed src="ссылка файла pdf" width="ширина в пикселях" height="высота в пикселях" />

 

2. C использованием <embed> через элемент <object>.

 

Спецификация HTML 4.0 рекомендует использовать тег <object> для загрузки внешних данных вместо тега <embed>, поэтому наилучшим вариантом будет поместить <embed> внутрь контейнера <object>.

 

<object><embed src="ссылка файла pdf" width="700" height="500" /></object>

 

3. С использованием тега <iframe>.

 

<iframe src="ссылка файла pdf" width="700" height="400"></iframe>

 

4. С использованием сервиса Google Docs Viewer (через iframe). (МОЙ ВАРИАНТ) !!!

 

<iframe src="http://docs.google.com/viewer?url="ссылка файла pdf"&embedded=true" width="700" height="500" style="border: none;"></iframe>

 

 

Куда вставить эти конструкции в шаблоне сообщения я нашел.

 

Внимание ! ВОПРОС:

 

Как в IPB 3.2.3 получить прямую ссылку на прикрепленный к сообщению файл? ЧТобы его съел гугл докс?

Ссылка вида:

 

http://site.ru/index.php?app=core&module=attach&section=attach&attach_id=2175

не проходит.

 

может это переменная какая или еще какой то способ.

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

Файлы на форуме отдаются динамически через php, что позволяет контролировать доступ к ним масками доступа разным группам. Прямой ссылкой этот функционал ломается, потому что пользователь получает прямой доступ к файлу.

 

Show_attachments -> $data['attach_file']

Как сделать чтоб при прикреплении видео к посту отображалась прямая ссылка на него?

  • Автор

Файлы на форуме отдаются динамически через php, что позволяет контролировать доступ к ним масками доступа разным группам. Прямой ссылкой этот функционал ломается, потому что пользователь получает прямой доступ к файлу.

 

Show_attachments -> $data['attach_file']

Как сделать чтоб при прикреплении видео к посту отображалась прямая ссылка на него?

 

Можно чуть поподробнее.

для чего это сделано это понятно.

но нужно как то прямую ссылку получить это очень важно.

 

$data['attach_file'] выводит название файла, а как получить прямую ссылку?

но нужно как то прямую ссылку получить это очень важно.
Добавьте необходимые данные.

admin/applications/core/sources/classes/attach/class_attach.php

Ищите по

getTemplate( $skin_name )->Show_attachments(

и в массив добавляйте

'attach_ext'    => $row['attach_ext'],
'a_location'    => $row['attach_location'],

Дальше в шаблоне Show_attachments используйте

<if test="$data['attach_ext'] == 'pdf'">
   <iframe src="http://docs.google.com/viewer?url={$this->settings['upload_url']}/{$data['a_location']}&embedded=true" width="700" height="500" style="border: none;"></iframe>
</if>

  • Автор

Большое спасибо за вашу помощь и участие.

Но с данным кодом тоже беда.

Вашим способом гуглу отдается файл вида:

/uploads/monthly_02_2014/post-21515-0-13682300-1392632099.ipb

а такое расширение он идентифицировать и прочитать не может

а такое расширение он идентифицировать и прочитать не может
Странно. Я протестировал работу. Если перейти по данной ссылке в браузере, что наблюдается?

Вашим способом гуглу отдается файл вида:

Этим способом должен отдаваться полный адреса файла вместе с upload_url. Единственное что стоило бы сделать это урленкодить адрес через {parse expression="urlencode($this->settings['upload_url'].'/'.$data['a_location'])"}

Если адрес в порядке, тогда смотрите документацию гугла по подключению адреса. Расширение аттачей в целях безопасности меняется на .ipb.

  • Автор

Странно. Я протестировал работу. Если перейти по данной ссылке в браузере, что наблюдается?

Ссылка которая отдается таким способом имеет вид:

http://site.ru/uploads/monthly_02_2014/post-21515-0-28698400-1391352095.ipb

 

при переходе по ней браузер открывает окно с сохранением файла post-21515-0-28698400-1391352095 с расширением ipb (вместо необходимого pdf, doc, ppt).

 

файл действительно тот что нужно и если у него сменить расширение, он откроется в нужном виде.

 

Вопрос в том как его отправить гуглу с нужным расширением.

Вопрос в том как его отправить гуглу с нужным расширением.

В принципе никак. Аттачи в ипб отдаются динамически где в скриптах отправляются все необходимые заголовки - content-type, оригинальное название файла. Либо отдавать гуглу динамическую ссылку (динамические адреса обязательно нужно енкодить), либо придумывать разные костыли со сменой расширения и тп.

  • Автор

В принципе никак. Аттачи в ипб отдаются динамически где в скриптах отправляются все необходимые заголовки - content-type, оригинальное название файла. Либо отдавать гуглу динамическую ссылку (динамические адреса обязательно нужно енкодить), либо придумывать разные костыли со сменой расширения и тп.

 

 

Печаль. неужели нет решения данной проблемы.

  • Автор

Может тогда кто то встречал другое решение как сделать предпросмотр прикрепленных файлов. без участия гугла.

может это плеер какой то или плагин.

  • 3 недели спустя...
  • Автор

Проблема все еще актуальна.

Проблема все еще актуальна.

Пишите в гугл на поддержку динамических адресов. Или адресов без расширения.

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

Аккаунт

Навигация

Поиск

Поиск

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

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