Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Почему не работает изменение свойств?

00 голосов
4
Здравствуйте!
Помогите пожалуйста, никак не получается:( не могу сохранить свойства инфоблока:( эти функции не работают http://www.1c-bitrix.ru/bitrix/help/ru/index.html?page=source%2Fiblock%2Fhelp%2Fru%2Fdeveloper%2Fclasses%2F_cibelement%2Findex.php.html
как я тока не пытался их писать, не сохраняет и все тут:(


вот код:
Код
while($arr=$rsIBlock->GetNext())
{
if ($arr["ID"]==43)   
{   
   $arFilter = array (         "IBLOCK_ID" => 43,         "IBLOCK_LID" => SITE_ID,         "ACTIVE" => "Y",         "ACTIVE_DATE" => "Y",         "CHECK_PERMISSIONS" => "Y",      );
   $rsElement = CIBlockElement::GetList(Array("TIMESTAMP_X"=>"asc"),$arFilter, false, $false,Array("ID", "NAME","IBLOCK_ID"));

   while($obElement = $rsElement->GetNext()){
      //CIBlock::SetPermission(43, Array("1"=>"W", "2"=>"W"));
      echo "<br><pre>"; print_r($obElement); echo "</pre><br>";
      CIBlockElement::SetPropertyValueCode($obElement["ID"], "IBLOCK_LID", 444);
      echo "<br><pre>"; print_r($obElement); echo "</pre><br>";

   }
}
}


Тоесть после этой манипуляции CIBlockElement::SetPropertyValueCode($obElement["ID"], "IBLOCK_LID", 444); значение "IBLOCK_LID" остается прежним.

Спасибо
спросил 14 Янв, 13 от OPEX (720 баллов)

4 Ответы

00 голосов
У элемента инфоблока есть свойства, а есть поля.
Поля заранее определены и описаны здесь (см. раздел "Элементы".)
Изменять их можно методом CIBlockElement::Update.

Свойства же вы определяете сами для каждого инфоблока свои. Их можно задавать тем же методом CIBlockElement::Update, а можно, как вы и пытаетесь, через CIBlockElement::SetPropertyValueCode. Но через CIBlockElement::SetPropertyValueCode нельзя изменять поля элемента.
ответил 14 Янв, 13 от Sage (460 баллов)
00 голосов
Какимже образом я смогу поменять "IBLOCK_LID"? мне это очень нужно...
ответил 19 Янв, 13 от OPEX (720 баллов)
00 голосов
Вообще задачка свелась к тому, что надо перенести элемент из одного блока новостей в другой, тоесть из одного инфоблока в другой.
ответил 19 Март, 13 от OPEX (720 баллов)
00 голосов
Хм, у элемента есть IBLOCK_ID, у инфоблока есть LID, а что такое IBLOCK_LID?
(PS. По ссылке выше есть пример, как менять поля элемента, в том числе и IBLOCK_ID, если вы это имели ввиду)
ответил 15 Июль, 13 от Sage (460 баллов)

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

0 голосов
2 ответов
спросил 05 Апр, 14 от Valera21 (100 баллов)
0 голосов
5 ответов
0 голосов
7 ответов
0 голосов
4 ответов
спросил 09 Фев, 14 от XIDAN (620 баллов)
0 голосов
2 ответов
спросил 12 Июнь, 13 от Hakasama (300 баллов)