Битрикс — журнал событий

В этой статье мы рассмотрим встроенный инструмент по контролю изменений на сайте и познакомимся с API.

Как узнать когда менялись элементы или разделы в Битриксе

Для того, чтобы отслеживать изменения на сайте, мы воспользуемся встроенным инструментом Журнал событий. Его можно найти по следующей ссылке (относительно вашего сайта):

/bitrix/admin/event_log.php?lang=ru

Чтобы информация попадала в журнал, нужно на вкладке настроек инфоблока, которая называется «Журнал событий», включить какие изменения мы будем отслеживать.

Описание методов журнала событий задокументировано, вы можете сами всё проверить:
https://dev.1c-bitrix.ru/api_help/main/reference/ceventlog/index.php

Лично мне пригодился только GetList. Пожалуй этого примера вполне хватит, чтобы понять подходит ли это под ваши задачи:

<?
$rsLog = CEventLog::GetList(
	Array("ID" => "DESC"),
	false,
	false
);
while ($arLog = $rsLog->GetNext()) {
	echo "<pre>";
	print_r($arLog);
	echo "</pre>";
}
?>

Выведет следующий код:

Array
(
    [ID] =&gt; 1
    [~ID] =&gt; 1
    [TIMESTAMP_X] =&gt; 09.06.2016 14:23:36
    [~TIMESTAMP_X] =&gt; 09.06.2016 14:23:36
    [SEVERITY] =&gt; UNKNOWN
    [~SEVERITY] =&gt; UNKNOWN
    [AUDIT_TYPE_ID] =&gt; IBLOCK_ELEMENT_EDIT
    [~AUDIT_TYPE_ID] =&gt; IBLOCK_ELEMENT_EDIT
    [MODULE_ID] =&gt; iblock
    [~MODULE_ID] =&gt; iblock
    [ITEM_ID] =&gt; 1
    [~ITEM_ID] =&gt; 1
    [REMOTE_ADDR] =&gt; 127.0.0.1
    [~REMOTE_ADDR] =&gt; 127.0.0.1
    [USER_AGENT] =&gt; Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
    [~USER_AGENT] =&gt; Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
    [REQUEST_URI] =&gt; /bitrix/admin/iblock_element_edit.php?IBLOCK_ID=1&amp;type=project&amp;lang=ru&amp;find_section_section=-1
    [~REQUEST_URI] =&gt; /bitrix/admin/iblock_element_edit.php?IBLOCK_ID=1&amp;type=project&amp;lang=ru&amp;find_section_section=-1
    [SITE_ID] =&gt; 
    [~SITE_ID] =&gt; 
    [USER_ID] =&gt; 1
    [~USER_ID] =&gt; 1
    [GUEST_ID] =&gt; 1
    [~GUEST_ID] =&gt; 1
    [DESCRIPTION] =&gt; a:6:{s:2:"ID";i:1;s:4:"CODE";s:11:"element";s:4:"NAME";s:11:"element";s:12:"ELEMENT_NAME";s:14:"Элемент";s:7:"USER_ID";i:1;s:15:"IBLOCK_PAGE_URL";s:23:"/project/index.php?ID=1";}
    [~DESCRIPTION] =&gt; a:6:{s:2:"ID";i:1;s:4:"CODE";s:11:"element";s:4:"NAME";s:11:"element";s:12:"ELEMENT_NAME";s:14:"Элемент";s:7:"USER_ID";i:1;s:15:"IBLOCK_PAGE_URL";s:23:"/project/index.php?ID=1";}
)

Как по мне, очень полезные поля тут — TIMESTAMP_X, ITEM_ID, AUDIT_TYPE_ID, USER_ID — этих данных вполне хватит для того чтобы написать простенький журнал (если вас вдруг не устраивает встроенный инструмент в админке). В своем журнале вы легко сможете вывести:

  • TIMESTAMP_X — когда было изменение, добавление или удаления
  • AUDIT_TYPE_ID — позволит понять какой тип события произошел (можем создать ассоциативный массив для русских комментариев и выводить значение в виде «добавлен элемент» и т.п.)
  • USER_ID — покажет ID пользователя который совершил изменение элемента
  • ITEM_ID — благодаря этому ID мы можем узнать имя элемента, раздела или чего-либо еще

Надеюсь вам был полезен данный материал 🙂 . А какие инструменты по контролю изменений на сайте используете вы?

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

Какие услуги предоставляю:
- Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *