Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Qartvela™

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

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

Вам newbie написал другой вариант preg_match, зачем надо было менять формат?

Буду использовать.

else там явно лишний, потому что по умолчанию и так будет дефолтная картинка.

Дефолтный отключен в темах, потому что в первым фейсбук все равно берет его.

https://developers.facebook.com/tools/debug/og/object/ показывается и найденный картинка и дефолтная. В окне "Поделиться" показывается только дефолтная.

 

post-43613-0-30938200-1553680267_thumb.png

Поделиться сообщением


Ссылка на сообщение

В 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>
 
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

Вот Вам тот же код, только для 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.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
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}}

 

  • Like 3
  • Upvote 2

Поделиться сообщением


Ссылка на сообщение
01/22/21 09:35 (изменено)

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

 

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

Поделиться сообщением


Ссылка на сообщение
22.01.2021 в 11:35, leonovich сказал:

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

Неожиданно.

Поделиться сообщением


Ссылка на сообщение

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...