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

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

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

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

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

Фейсбук не ищет картинки в теме

То есть...

 

Когда открываешь тему и добавляешь картинки в виде:

 

[img=http://site.com/image.jpg]

или

 

[img=http://site.com/image.jpg]

А потом делишься ссылкой темы или поста на фейсбук, он (фейсбук) не видит картинку из темы и отображает стандартную картинку og:image

 

Но если добавляешь картинку через стандартную функцию "Attachment" тогда фейсбук видит и загружает картинку в диалоговом окне.

 

Как эту проблему решит?

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

В globalTemplate (в 3.4x шаблон - includeMeta)

Найти

 

	<meta property="og:image" content="{$this->settings['meta_imagesrc']}"/>
 

Заменить на

	<if test="!$metaTags['og:image']">
		<meta property="og:image" content="{$this->settings['meta_imagesrc']}"/>
	</if>
 

 

В шаблоне post добавить (первое изображение из темы)

 

<php>
	if( !$this->registry->output->getMetaTags('og:image') )
	{
		preg_match('~<img[^>]*?src="([^"]*)"[^>]*>~i', $post['post']['post'], $matches); 
		if ($matches[1])
		{
			$this->registry->output->addMetaTag('og:image', $matches[1], false);
		}
	}
</php>
 
  • Автор

@siv1987, Огромное спасибо.

  • 1 год спустя...

может кто то для четверки такое же сделать?

Вот Вам тот же код, только для 4-ки

{{if !isset(\IPS\Output::i()->metaTags['og:image'])}}
	{{preg_match('~<img[^>]*?src="([^"]*)"[^>]*>~i', $comment->content(), $matches); }}
	{{if isset($matches[1])}}
		{{\IPS\Output::i()->metaTags['og:image'] = $matches[1];}}
	{{endif}}
{{endif}}

вставлять в шаблон postContainer.

11 часов назад, newbie сказал:

Вот Вам тот же код, только для 4-ки


{{if !isset(\IPS\Output::i()->metaTags['og:image'])}}
	{{preg_match('~<img[^>]*?src="([^"]*)"[^>]*>~i', $comment->content(), $matches); }}
	{{if isset($matches[1])}}
		{{\IPS\Output::i()->metaTags['og:image'] = $matches[1];}}
	{{endif}}
{{endif}}

вставлять в шаблон postContainer.

Спасибо, а как поправить путь, а то он вот такой получается

<meta property="og:image" content="<fileStore.core_Attachment>/monthly_07_2019/post-111111_thumb.jpg">

И ещё такой вопрос, в таком виде вставляет не только загруженные картинки, но и те которые были вставлены в сообщение по ссылке с других серверов, можно как то сделать, только загруженные, что бы были?

{{if !isset(\IPS\Output::i()->metaTags['og:image'])}}
	{{preg_match('~<img[^>]*?src="(<fileStore.core_Attachment>([^"]*))"[^>]*>~i', $comment->content(), $matches); }}
	{{if isset($matches[1])}}
		{{\IPS\Output::i()->parseFileObjectUrls($matches[1]);}}
		{{\IPS\Output::i()->metaTags['og:image'] = $matches[1];}}
	{{endif}}
{{endif}}

 

  • 7 месяцев спустя...

Упс, заработало....

 

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

22.01.2021 в 11:35, leonovich сказал:

Упс, заработало....

Неожиданно.

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

Аккаунт

Навигация

Поиск

Поиск

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

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