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

Внимание! Все сообщения на форуме проходят модерацию. Ваше сообщение появится после проверки.

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

Чеклист:


Делаем компонет со списком объявлений пользователя
Реализуем событие на обновление элемента
Черновой обработчкик на менеджере событий:
Код
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'
                );
            }
        }
    }
}
подскажи а почему может не удаляться файл который ранее сохранил,  все вроде как хорошо отрабатывает а вот удаление не работает (тоесть визуально все удаляет но после нажатие кнопки сохранить все обратно возвращается)
Да, вижу такую проблему. Данные об изменениях в файлах, фактически не записываются в элемент инфоблока.
Позже починю этот баг.
Быстрый вариант: при удалении фотки делать AJAX запрос к элементу и удалять с Update элемента.
Чутка "костыль" - первое что в голову пришло, с более правильным вариантом надо подмать
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
 

Стоимость разработки на 1С-Битрикс:

Индивидуальная разработка магазина

от 500 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Запуск сайта на готовом решении

от 150 000 руб. от 7-ми дней

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

Мобильное приложение

от 400 000 руб. от 5-ти недель

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Сайт компании

от 300 000 руб. от 2-х недель

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Инфоресурс

от 300 000 руб. от 4-х недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

3D‑моделирование, визуализация

от 25 000 руб. от 3-х дней

По вашим фото, чертежам или описанию создадим 3D‑модели и отрендерим набор изображений для каталога товаров: общий вид, крупные планы и технические ракурсы или 360°‑обзор товара.