Bitrix-D7  20.0.0
Класс SitemapEntityTable
Граф наследования:SitemapEntityTable:
SitemapForumTable

Открытые статические члены

static getFilePath ()
 
static getTableName ()
 
static add (array $data)
 
static getMap ()
 
static getSitemapsByEntityId ($entityId)
 
static clearBySitemap ($sitemapId)
 

Поля данных

const ENTITY_TYPE = 'ENTITY'
 

Статические защищенные данные

static $entityCache = array()
 

Подробное описание

См. определение в файле sitemapentity.php строка 16

Методы

◆ add()

static add ( array  $data)
static

См. определение в файле sitemapentity.php строка 31

32  {
33  $sitemapId = $data['SITEMAP_ID'];
34  $entityId = $data['ENTITY_ID'];
35  return parent::add(array(
36  'ENTITY_TYPE' => static::ENTITY_TYPE,
37  'ENTITY_ID' => $entityId,
38  'SITEMAP_ID' => $sitemapId,
39  ));
40  }

◆ clearBySitemap()

static clearBySitemap (   $sitemapId)
static

См. определение в файле sitemapentity.php строка 115

116  {
118  $connection->query("
119 DELETE
120 FROM ".self::getTableName()."
121 WHERE SITEMAP_ID=".intval($sitemapId)." AND ENTITY_TYPE='".static::ENTITY_TYPE."'
122 ");
123  }

◆ getFilePath()

static getFilePath ( )
static

См. определение в файле sitemapentity.php строка 21

22  {
23  return __FILE__;
24  }

◆ getMap()

static getMap ( )
static

См. определение в файле sitemapentity.php строка 42

43  {
44  $fieldsMap = array(
45  'ID' => array(
46  'data_type' => 'integer',
47  'primary' => true,
48  'autocomplete' => true,
49  ),
50  'ENTITY_TYPE' => array(
51  'data_type' => 'string',
52  'required' => true,
53  ),
54  'ENTITY_ID' => array(
55  'data_type' => 'integer',
56  'required' => true,
57  ),
58  'SITEMAP_ID' => array(
59  'data_type' => 'integer',
60  'required' => true,
61  ),
62  'SITEMAP' => array(
63  'data_type' => 'Bitrix\Seo\SitemapTable',
64  'reference' => array('=this.SITEMAP_ID' => 'ref.ID'),
65  )
66  );
67 
68  return $fieldsMap;
69  }

◆ getSitemapsByEntityId()

static getSitemapsByEntityId (   $entityId)
static

См. определение в файле sitemapentity.php строка 71

72  {
73  if(!isset(self::$entityCache[$entityId.'Sitemaps']))
74  {
75  self::$entityCache[$entityId] = array();
76 
77  $dbRes = self::getList(array(
78  'filter' => array(
79  'ENTITY_TYPE' => static::ENTITY_TYPE,
80  'ENTITY_ID' => $entityId
81  ),
82  'select' => array(
83  'SITEMAP_ID',
84  'SITE_ID' => 'SITEMAP.SITE_ID',
85  'SITEMAP_SETTINGS' => 'SITEMAP.SETTINGS'
86  )
87  ));
88  $arSitemaps = array();
89  while($arRes = $dbRes->fetch())
90  {
91  $arRes["SITEMAP_SETTINGS"] = unserialize($arRes['SITEMAP_SETTINGS']);
92  self::$entityCache[$entityId][] = $arRes;
93  if ($arRes["SITEMAP_SETTINGS"][static::ENTITY_TYPE."_ACTIVE"] &&
94  $arRes["SITEMAP_SETTINGS"][static::ENTITY_TYPE."_ACTIVE"][$entityId] == "Y")
95  {
96  $arSitemaps[] = array(
97  'SITEMAP_ID' => $arRes['SITEMAP_ID'],
98  'SITE_ID' => $arRes['SITE_ID'],
99  'PROTOCOL' => $arRes["SITEMAP_SETTINGS"]['PROTO'] == 1 ? 'https' : 'http',
100  'DOMAIN' => $arRes["SITEMAP_SETTINGS"]['DOMAIN'],
101  'ROBOTS' => $arRes["SITEMAP_SETTINGS"]['ROBOTS'],
102  'SITEMAP_DIR' => $arRes["SITEMAP_SETTINGS"]['DIR'],
103  'SITEMAP_FILE' => $arRes["SITEMAP_SETTINGS"]['FILENAME_INDEX'],
104  'SITEMAP_FILE_'.static::ENTITY_TYPE => $arRes["SITEMAP_SETTINGS"]['FILENAME_'.static::ENTITY_TYPE],
105  'SITEMAP_SETTINGS' => $arRes["SITEMAP_SETTINGS"]
106  );
107  }
108  }
109  self::$entityCache[$entityId.'Sitemaps'] = $arSitemaps;
110  }
111 
112  return self::$entityCache[$entityId.'Sitemaps'];
113  }

◆ getTableName()

static getTableName ( )
static

См. определение в файле sitemapentity.php строка 26

27  {
28  return 'b_seo_sitemap_entity';
29  }

Поля

◆ $entityCache

$entityCache = array()
staticprotected

См. определение в файле sitemapentity.php строка 19

◆ ENTITY_TYPE

const ENTITY_TYPE = 'ENTITY'

См. определение в файле sitemapentity.php строка 18


Объявления и описания членов класса находятся в файле:
Bitrix\Main\Application\getConnection
static getConnection($name="")
Static method returns database connection for the specified name.
Definition: main/lib/application.php:381