• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/urlpreview/parser/opengraph.php
  • Класс: BitrixMainUrlPreviewParserOpenGraph
  • Вызов: OpenGraph::handle
public function handle(HtmlDocument $document)
{
	if($document->getTitle() == '')
	{
		$ogTitle = $document->getMetaContent('og:title');
		if($ogTitle <> '')
		{
			$document->setTitle($ogTitle);
		}
	}

	if($document->getDescription() == '')
	{
		$ogDescription = $document->getMetaContent('og:description');
		if($ogDescription <> '')
		{
			$document->setDescription($ogDescription);
		}
	}

	if($document->getImage() == '')
	{
		$ogImage = $document->getMetaContent('og:image:secure_url') ?: $document->getMetaContent('og:image');
		if($ogImage <> '')
		{
			$document->setImage($ogImage);
		}
	}

	$this->parseVideoData($document);

	if(!$document->getExtraField('SITE_NAME'))
	{
		$ogSiteName = $document->getMetaContent('og:site_name');
		if($ogSiteName <> '')
		{
			$document->setExtraField('SITE_NAME', $ogSiteName);
		}
	}

	/*	Not really opengraph property :), but it's placed in opengraph parser to prevent executing full parser chain
		just to get favicon */
	if(!$document->getExtraField('FAVICON'))
	{
		if($favicon = $document->getLinkHref('icon'))
		{
			$document->setExtraField('FAVICON', $favicon);
		}
	}
}