Ответы пользователя по тегу 1С-Битрикс
  • Почему приходит пустой PROPERTIES из arResult?

    ioxio
    @ioxio
    Web-developer
    Возможно не проставлены параметры у свойств Инфоблока:
    636fea5158c5e187663989.jpeg
    Ответ написан
    Комментировать
  • Как в bitrix установить свойство типа список(enum) у инфоблока методами api?

    ioxio
    @ioxio
    Web-developer
    bitrix установить (запись) свойство типа список(enum) у инфоблока методами api D7 ORM

    Для того, чтобы начать использовать эту возможность вам необходимо зайти в настройки информационного блока и задать значения для поля «Символьный код API».

    Для свойств типа строка: / множественный / привязка к элементу

    RATING_LIKE - Свойство в инфоблоке
    аналогично пишем всегда $element->getRatingLike() в "CamelCased" - код свойства

    \Bitrix\Main\Loader::includeModule('iblock');
    
    $iblock = \Bitrix\Iblock\Iblock::wakeUp(IB_ARTICLE);  // IB_ARTICLE - Ваш инфобло
    
    $classArticleName = $iblock->getEntityDataClass();
    
    $element = $classArticleName::getByPrimary( $ELEMENT_ID , array( // $ELEMENT_ID - id елемента
        'select' => array('ID', 'NAME', 'RATING_LIKE')
    ))->fetchObject();
    
    // Запись Тип Строка
    $element->getRatingLike()->setValue('new value');
    $element->getRatingLike()->setDescription('new descr');
    
    // ========== Запись/Множественный  (тип Спиок) ============
    use Bitrix\Iblock\ORM\PropertyValue;
    
    foreach ($element->getRatingLike() as $value)
    {
        $value->setValue('new value');
        $value->setDescription('new descr');
    }
    
    $element->addToRatingLike(new PropertyValue('new value'));
    $element->addToRatingFile(new PropertyValue('new value', 'new descr'));
    
    // ===========================================
    
    // установка привязки к элементу
    $element->getRatingLike()->setElement($anotherElement);
    
    // Сохраняем
    $element->save();


    ЕСЛИ ошибка типа «Call to a member function on null» - Проверьте наличие свойства в Инфоблоке и его Имя.
    (Возможно - не видит "новосозданное свойство", странно, конечно, но мне помогло элементарное пересохранение их админки элементов...)
    Ответ написан
    Комментировать
  • Как исправить проблему сессий?

    ioxio
    @ioxio
    Web-developer
    Если в "Настройки модулей - Главный модуль" и "Нстройки - Сайты - Список сайтов (в активный сайт )"
    Данные разные указаны (домены) - начинается проблема с сессиями
    Скинем на дефолт -

    Код вставим в страничку и откроем ее.
    <?
            // Вместо "main.ru - свой домен
     COption::SetOptionString("main","server_name","main.ru");
    	COption::SetOptionString("main","site_name","main.ru");
    
            // Убераем из Нстройки - Сайты - Список сайтов (в активный сайт )
    	$obSite = new CSite();
    	$t = $obSite->Update("s1", array(
    		'ACTIVE' => "Y",
    		"SERVER_NAME"  => "",
    		"DOMAINS" => ""
    	));
    ?>


    Поможет.
    Ответ написан
    5 комментариев