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

Перестал отображаться встроенный блок с Flickr

После апгрейда с 4.3.6 на 4.4.7 перестал отображаться для посетителей встроенный в запись блога код. В коде html страницы запись есть, но для посетителей ничего не видно. Если коротко, то это встроенная галерея от Flickr. Раньше все работало. Пример страницы.

 

<div class="ipsEmbeddedOther" contenteditable="false">
<iframe allowfullscreen="" class="ipsEmbed_finishedLoading" data-controller="core.front.core.autoSizeIframe" data-embedid="embed9865321170" id="ips_uid_2530_6" scrolling="no" src="https://www.a108.net/index.php?app=core&module=system&controller=embed&url=https://www.flickr.com/photos/bhaktimarga/albums/72157709170876597" style="overflow: hidden; height: 29px;"></iframe>
</div>

 

Подскажите, что поменять в коде?

Изменено пользователем Zero108

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

system/Text/Parser.php

			/* Flickr when used in the video template is a bit quirky. Requires rich. */
		if ( $domain == 'flickr.com' OR $domain == 'flic.kr' )
		{
			$response['type'] = ( $response['type'] == 'video' ) ? 'rich' : 'photo';
		}

Я нашел 3 вида типов:

- rich.

https://www.flickr.com/services/oembed/?url=https://www.flickr.com/photos/bhaktimarga/albums/72157709170876597

- photo.

https://www.flickr.com/services/oembed/?url=https://www.flickr.com/photos/bhaktimarga/48096516486/in/album-72157709170876597/

- video.

https://www.flickr.com/services/oembed/?url=https://www.flickr.com/photos/46244914@N04/4313010733/in/photolist-7z8iQ2-2gthFp5-8e3Scb-9uAqBi-7HCcMv-rgoUNi-7D4tjg-6bvHfx-7n91yK-6Pi4i2-duvuFw-dtsgr2-dF1iQP-duvrFm-9zT5pn-cM9ZVu-5bbYPw-k4BetM-dai9cM-d9TTUk-57nwq4-dbLRDd-8pF4v1-fppLY8-fpE2Yo

А в коде проверяется, если video, то rich, иначе - photo.

Можно вышеуказанный код заменить на

			/* Flickr when used in the video template is a bit quirky. Requires rich. */
		if ( ($domain == 'flickr.com' OR $domain == 'flic.kr') and $response['type'] == 'video' )
		{
			$response['type'] = 'rich';
		}

  • Автор

Заменил на указанный вами код. Галерея по-прежнему не отображается, когда вставляю мой код.

 

Если вставляю ваши ссылки, то не встраивается: "The link could not be embedded because there is no image at that URL."

 

Что такое rich и photo, я не понимаю, так как я не программист.

Изменено пользователем Zero108

Если вставляю ваши ссылки, то не встраивается: "The link could not be embedded because there is no image at that URL."

Мои ссылки на oembed, чтобы показать данные.

Галерея по-прежнему не отображается, когда вставляю мой код.

Возможно, используется кеш (см. таблицу core_cache).

  • Автор

Обновил кеш в админцентре и браузере. Теперь после вставки моего кода отображается картинка со ссылкой. Раньше это была галерея с возможностью перелистывания, а теперь просто картинка. При клике на картинку выдается ошибка: фликр не дает установить соединение. Как исправить, чтобы было перелистывание галереи в записи блога и не было ошибки при клике на картинку?

Изменено пользователем Zero108

flickr не разрешает встраивать свои страницы через iframe.

Для вставки он предлагает код.

Но даже, если его использовать, то в нем присутствует js. А js движок вырезает.

  • Автор

Странно, на 4.3.6 моя вставка из первого поста работала отлично. А на 4.4.7 перестала.

  • Автор

Не могли бы вы описать последовательность действий, чтобы все заработало. Я понимаю, что для вас это просто. Но я никак не пойму, что и куда нужно вставлять, чтобы заработало. У меня браузер ни на что не ругается (хром). Оно просто не работает.

Вставляю в редактор ссылку

https://www.flickr.com/photos/bhaktimarga/albums/72157709170876597

Жду, когда ссылка преобразуется в html

Создаю пост

Результат

flickr.png

  • Автор

На моем 4.4.7 я вставил в редактор ссылку, как вы сказали, а в /system/Text/Parser.php заменил на ваш код (в аттаче). При сохранении, как вы пишите, картинка отображается, но без перелистывания. А когда на неё кликаешь, то на сайт не переходит, а отображает ошибку встраивания в ифрейм. В ИЕ и хроме проверил. На 4.3.6 у меня было как у вас. Возможно, какой-то конфликт в коде.

 

Страница

Parser.php

Изменено пользователем Zero108

Я же выше давал ссылку на js

https://widgets.flickr.com/embedr/embedr-70c2e3e766deb8c8fd87b83c30e47332.js

Перейдите по ней. Что видите?

У меня в хроме

chrome.png

В FF разрешил обращаться к файлу. Поэтому в нем работает.

  • Автор

Подключение не защищено, хром разорвал соединение. Значит никак этот файл не скачать и на свой сайт не залить, чтобы работало?

Зачем скачивать файл? flickr сам обращается к данному файлу в другом js

  • Автор

Пока понятно только то, что как раньше работать не будет. Спасибо за участие. Придется думать, что делать со старыми постами.

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

Аккаунт

Навигация

Поиск

Поиск

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

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