• Модуль: seo
  • Путь к файлу: ~/bitrix/modules/seo/lib/Sitemap/Internals/Entity.php
  • Класс: BitrixSeoSitemapInternalsEntityTable
  • Вызов: EntityTable::getSitemapsByEntityId
static function getSitemapsByEntityId($entityId)
{
	if (!isset(self::$entityCache[$entityId.'Sitemaps']))
	{
		self::$entityCache[$entityId] = array();

		$dbRes = self::getList(array(
			'filter' => array(
				'=ENTITY_TYPE' => static::ENTITY_TYPE,
				'=ENTITY_ID' => $entityId
			),
			'select' => array(
				'SITEMAP_ID',
				'SITE_ID' => 'SITEMAP.SITE_ID',
				'SITEMAP_SETTINGS' => 'SITEMAP.SETTINGS'
			)
		));
		$arSitemaps = array();
		while($arRes = $dbRes->fetch())
		{
			$arRes["SITEMAP_SETTINGS"] = unserialize($arRes['SITEMAP_SETTINGS'], ['allowed_classes' => false]);
			self::$entityCache[$entityId][] = $arRes;
			if ($arRes["SITEMAP_SETTINGS"][static::ENTITY_TYPE."_ACTIVE"] &&
				$arRes["SITEMAP_SETTINGS"][static::ENTITY_TYPE."_ACTIVE"][$entityId] == "Y")
			{
				$arSitemaps[] = array(
					'SITEMAP_ID' => $arRes['SITEMAP_ID'],
					'SITE_ID' => $arRes['SITE_ID'],
					'PROTOCOL' => $arRes["SITEMAP_SETTINGS"]['PROTO'] == 1 ? 'https' : 'http',
					'DOMAIN' => $arRes["SITEMAP_SETTINGS"]['DOMAIN'],
					'ROBOTS' => $arRes["SITEMAP_SETTINGS"]['ROBOTS'],
					'SITEMAP_DIR' => $arRes["SITEMAP_SETTINGS"]['DIR'],
					'SITEMAP_FILE' => $arRes["SITEMAP_SETTINGS"]['FILENAME_INDEX'],
					'SITEMAP_FILE_'.static::ENTITY_TYPE => $arRes["SITEMAP_SETTINGS"]['FILENAME_'.static::ENTITY_TYPE],
					'SITEMAP_SETTINGS' => $arRes["SITEMAP_SETTINGS"]
				);
			}
		}
		self::$entityCache[$entityId.'Sitemaps'] = $arSitemaps;
	}

	return self::$entityCache[$entityId.'Sitemaps'];
}