@anriko

Как поменять массово значение поля SUBSCRIBE?

пробую так не получилось. в чем ошибка ?

/* для поменл значения  свойств  в товаре */
function copy_from_fields_to_propertys_values($IBLOCK_ID){
    if ( CModule::IncludeModule ( "iblock" ) ){
        $arOrder = array(
            "sort" => "ASC",
        );

        $arFilter = array(
       "IBLOCK_ID" => $IBLOCK_ID,
        );

     

        $arSelect = array(
            "NAME",
            "ID",
            'SUBSCRIBE' );

       

        $db_elemens = CIBlockElement::GetList ( $arOrder, $arFilter, false, false, $arSelect );
        while ( $arElement = $db_elemens->GetNextElement() ) {
          
            $el = new CIBlockElement;
            $filds = $arElement->GetFields();

            print_r($filds['ID']);
            echo"</br>";
            echo"</br>";
            $arLoadProductArray = Array(
                "SUBSCRIBE"   => "Y"
            );
        $res = $el->Update($filds['ID'], $arLoadProductArray);
    
    }

    } else {
        die( "Модуль iblock не установлен" );
    }
}
copy_from_fields_to_propertys_values('33')
;

603f3cc307240288368072.png
  • Вопрос задан
  • 54 просмотра
Пригласить эксперта
Ответы на вопрос 3
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
Если хотите сохранить в свойстве то PROPERTY_SUBSCRIBE
Ответ написан
no_one_safe
@no_one_safe
Это свойство не инфблока, а торгового каталога
Ответ написан
@PetrPo
метод, внизу есть пример как раз с SUBSCRIBE (только это статический метод):
D - по-умолчанию, из настроек модуля
Y - да
N - нет

Я бы проставил всем по умолчанию и в настройках модуля "Торговый каталог" поставил Y, но тут сам смотри как тебе надо.

UPD
еще в исходниках написано что метод deprecated, использовать
\Bitrix\Catalog\Model\Product::update($id, ['SUBSCRIBE' => 'Y']);

UPDUPD
здесь есть пример с CAN_BUY_ZERO, замени на SUBSCRIBE - на разок покатит
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы