Добавление элемента в раздел через ORM D7

 public static function getSectionIdByCode(string $code)
    {
        $result = SectionTable::query()
            ->addSelect('ID')
            ->addFilter('CODE', $code)
            //->where('IBLOCK_ID', <id_iblock>) // опционально
            ->fetch();
        
        if (!$result['ID']) {
            throw new Exception('Указанная секция - ' . $code . ' по коду не найдена');
        }
        
        return $result['ID'];
    }

$section = self::getSectionIdByCode('<code_section>'); // тут указываем код секции

$object  = ElementStructureTable::createObject()
            ->setXmlId(uniqid())
            ->setName('Главная страница')
            ->setCode('index')
            ->setIblockSectionId($section) // Указываем ID секции, в данном примере я получаю его по коду секции
            ->setInSections(true); // Без этого параметра работать не будет
        
$result = $object->save();
        
if (!$result->isSuccess()) {
    throw new Exception(current($result->getErrorMessages()));
}

Оставьте комментарий

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