/** * Функция добавляет или обновляет модификаторы у элемента * * @param int $elemID * @param int $modID * @param string $required * @return \Bitrix\Main\Entity\AddResult|\Bitrix\Main\Entity\UpdateResult * @throws IIKOException * @throws \Exception */ static function add($elemID = 0, $modID = 0, $required = 'N') { if (!$elemID || !$modID) { throw new \Exception('Cant add/update element modifier. Empty element or modifier ID.'); } $params = array( 'select' => array('ID'), 'filter' => array( '=ELEMENT_ID' => $elemID, '=MODIFIER_ID' => $modID ) ); $row = ElementModifiersTable::getRow($params); if ($row['ID'] > 0) { return ElementModifiersTable::update($row['ID'], array('REQUIRED' => $required)); } else { return ElementModifiersTable::add(array( 'ELEMENT_ID' => $elemID, 'MODIFIER_ID' => $modID, 'REQUIRED' => $required )); } }