• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/note/source/blog.php
  • Класс: BitrixLandingNoteSourceBlog
  • Вызов: Blog::getData
static function getData(int $sourceId): ?array
{
	if (
		BitrixMainLoader::includeModule('blog') &&
		BitrixMainLoader::includeModule('socialnetwork')
	)
	{
		$post = CBlogPost::getByID($sourceId);
		if (BlogPost::canRead(['POST' => $post]))
		{
			$params = [];
			$blocks = [[
				'type' => 'header',
				'content' => $post['TITLE']
			]];
			if (BitrixMainLoader::includeModule('disk'))
			{
				$params = [
					'files' => self::getDiskFiles(
						$sourceId,
						BitrixDiskUfBlogPostConnector::class,
						'blog'
					)
				];
			}
			$blocks = array_merge(
				$blocks,
				Parser::textToBlocks($post['DETAIL_TEXT'], $params)
			);
			return [
				'TITLE' => truncateText($post['TITLE'], self::TITLE_LENGTH),
				'BLOCKS' => $blocks
			];
		}
	}

	return null;
}