Меню

Серия 13: Свой компонент: список объявлений пользователя. Получение информации из инфоблока с помощью ORM

RSS
Серия 13: Свой компонент: список объявлений пользователя. Получение информации из инфоблока с помощью ORM
 

Серия 13: Свой компонент: список объявлений пользователя. Получение информации из инфоблока с помощью ORM

Чеклист:


Делаем компонет со списком объявлений пользователя
Реализуем событие на обновление элемента
Изменено: Михаил Базаров - 16.11.2024 14:20:38
 
Черновой обработчкик на менеджере событий:
Код
use Bitrix\Main\EventManager;
use Bitrix\Main\Loader;
use CIBlockElement;

EventManager::getInstance()->addEventHandler(
    'iblock',
    'OnAfterIBlockElementUpdate',
    ['UpdateBulletinsElements', 'OnAfterIBlockElementUpdateHandler']
);

class UpdateBulletinsElements
{
    // Создаем обработчик события "OnAfterIBlockElementUpdate"
    public static function OnAfterIBlockElementUpdateHandler($arFields)
    {
        if ($arFields['ACTIVE'] === 'Y' && Loader::includeModule('iblock')) {
            $currentDate = new \Bitrix\Main\Type\DateTime();
            $dateActiveFrom = $currentDate->format('d.m.Y H:i:s');
            $dateActiveTo = $currentDate->add('14D')->format('d.m.Y H:i:s');

            $el = new CIBlockElement();
            $result = $el->Update($arFields['ID'], [
                'ACTIVE_FROM' => $dateActiveFrom,
                'ACTIVE_TO' => $dateActiveTo,
            ]);

            if (!$result) {
                // Логирование ошибок
                \Bitrix\Main\Diag\Debug::writeToFile(
                    $el->LAST_ERROR,
                    '',
                    '/log/update_error.log'
                );
            }
        }
    }
}
Изменено: Михаил Базаров - 08.12.2024 12:00:17
Читают тему
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
 

Блог-note: заметки разработчика

Отфильтровать новости в Битрикс за заданный период

Иногда, нужно отфильтровать элементы (новости например) по дате в Битрикс, с помощью компонента "список новостей". Для э...

Базовая защита "Битрикс виртуальная машина" от DDoS атак.

Данный способ защиты не панацея, и скорее всего не спасет от профессиональной DDoS атаки, когда ваш сервер на CentOS под...

Автоматический повтор заказа на D7 со списанием с внутреннего счета

На сайте товары и услуги доступны по подписке, пользователи пополняют внутренний счёт, после чего происходит автоматичес...

Регистрация пользователя в определенную группу сайта на Битрикс

Достаточно часто требуется регистрировать пользователя в определенную группу, в зависимости от того какую форму регистра...

Удалить всех пользователей которые не делали заказов в магазине 1С-Битрикс

Задача: сайт проработал 7 лет и все время на нем была открытая регистрация, создано много мертвых учетных записей (б...

Запретить изменения описаний товаров при выгрузке из 1С УТ на сайт

При разработке сайтов на Битрикс, с интеграцией с 1С Управление Тороговлей, нужно запретить изменения полей при обмене. ...

Получить и вывести данные из профиля покупателя в кабинете пользователя 1С-Битрикс

Задача: вывести пользователю информацию по всем, его, профилям покупателя в компоненте sale.personal.profile.list без пе...

Менять большую картинку, при клике на маленькую, в детальной карточке

Мини скриптик, может кому пригодится для каталога товаров или новостей при использовании дополнительных картинок (обычно...

Вывести минимальную и максимальную цену в разделе каталога Битрикс.

Что бы вывести минимальную и максимальную стоимость товаров, из каталога 1С-Битрикс, достаточно получить все товары мето...