Начало активности разделов Битрикс

Чтобы сделать начало активности для разделов как для элементов, создаем пользовательское поле для разделов, тип дата, название UF_ACTIVE_FROM. Далее функцию activeFromSections() прописываем в init.php, и создаем агента для выполнение этой функции каждый час, или можно эту функцию добавить в файл к примеру active_from_sections.php и установить выполнение на cron.
logo
logo
PHP
<?

function activeFromSections()
{
    CModule::IncludeModule("iblock");

    $iblock_id = 4;

    $arFilter = array('IBLOCK_ID' => $iblock_id, "ACTIVE" => "N");
    $rsSect = CIBlockSection::GetList(array('SORT' => 'ASC'), $arFilter, false, Array("UF_*"));

    while($arSect = $rsSect->GetNext())
    {
        if(!empty($arSect['UF_ACTIVE_FROM']))
        {
            $time_today  = time();
            $time_active_from = strtotime($arSect['UF_ACTIVE_FROM']);

            if($time_today >= $time_active_from)
            {
                $bs = new CIBlockSection;
                $arFields = Array(
                    "ACTIVE" => "Y",
                    "IBLOCK_ID" => $iblock_id,
                );
                $bs->Update($arSect['ID'], $arFields);
            }
        }

    }

}

Спасибо! Заявка успешно отправлена, мы с Вами свяжемся в ближайшее время!