Актуализация на свойствата на Infoblock, Алексей Валеев
По време на процеса на разработка доста често е необходимо програмно да се актуализират стойностите на свойствата на елементите на информационния блок. Под изрязването има малък измамен лист за api-функции за решаване на този проблем и форматите на предаваните към тях данни.
API функции
Можете да актуализирате свойства с помощта на 4 функции: CIBlockElement::Update — актуализирайте полетата и свойствата на елемент CIBlockElement::SetPropertyValueCode — актуализирайте едно свойство CIBlockElement::SetPropertyValues — актуализирайте едно или всички свойства CIBlockElement::SetPropertyValuesEx — актуализирайте произволен брой свойства на елемента
В повечето случаи функцията SetPropertyValuesEx е най-удобна. Това е, което ще използвам като пример, описвайки формата $value за единични, множество и описателни свойства.
Низ, свързващ се с файл на сървъра
За свойството "Свързване към файл на сървъра" пътят от корена на сайта се предава като стойност, съществуването на файла не се проверява.
Номер, обвързване на елемент, обвързване на раздел, обвързване на потребител
При актуализиране на свойство от тип "Число" стойността не се проверява и може да се запише произволен низ. За други типове се предава идентификаторът на съответния обект и се проверява съществуването му.
Като стойност трябва да подадете идентификатора на опцията за списък. Коректността на данните се проверява, ако параметърът DoNotValidateLists не е зададен при извикването на функцията.
Датата трябва да бъде предадена във формат "дд.мм.гггг чч:мм:сс". Няма проверка на данните и всеки низ ще бъде записан, но когато се опитате да запазите елемента през административния панел, ще възникне грешката „Невалиден формат на дата/час“.
Масивът трябва да съдържа елемент с ключ "TYPE" и стойност html\text.
С множествостойност, трябва да попълните ОПИСАНИЕ, в случай че е единична, не можете да я подадете.
Връзка към Google Maps, връзка към Yandex.Map
Стойността е координатите на точката, разделени със запетаи.