- Модуль: 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'];
}