О web-разработке
и даже немного больше...

Типы свойств инфоблоков

Модуль информационных блоков в системе Bitrix является универсальным инструментом, который позволяет реализовать множество задач, используя API. Особенностью информационных блоков является возможность добавления свойств, различных типов. Тип свойства (PROPERTY_TYPE) при работе с API определят его способ хранения и представления.

На данный момент, информационные блоки могут иметь свойства следующих типов:
S — строка
N — число
L — список
F — файл
G — привязка к разделу
E — привязка к элементу
S:UserID — Привязка к пользователю
S:DateTime — Дата/Время
E:EList — Привязка к элементам в виде списка
S:FileMan — Привязка к файлу (на сервере)
S:map_yandex — Привязка к Яndex.Карте
S:HTML — HTML/текст
S:map_google — Привязка к карте Google Maps
S:ElementXmlID — Привязка к элементам по XML_ID

Каждый из типов свойств, при работе с ними, предполагает определенные правила хранения, присущие конкретному свойству. Для каждого свойства имеется множество параметров, такие как активность, код, множественность, и т.п., которое определяет свойство в целом. В Bitrix существуют классы с наборами методов для работы со свойствами и их значениями. Ниже есть ссылки на документацию по работе с этими методами.

Рассмотрим простой пример.
Задача: Выбрать все активные свойства типа S (строка), указанного инфоблока.

// подключаем API
require_once($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/include/prolog_before.php");

// подключаем модуль инфо-блоков
if (CModule::IncludeModule('iblock')){

// параметры фильтра
$arFilter = Array(
			"ACTIVE" => "Y", // активность
			"IBLOCK_ID" => 4, // инфоблок, с id == 4
			"PROPERTY_TYPE" => "S" // только с типом S (строка)
			);
// обращаемся к методу GetList
$PrObj = CIBlockProperty::GetList(Array("sort"=>"asc"), $arFilter);
	while ($arProp = $PrObj->GetNext()){
		echo '<p> Свойство: '.$arProp['NAME'].', ID: '.$arProp['ID'].'</p>';
	}
}

Результат получаем такого вида:

<p>Свойство: Цвет, ID: 34</p>
<p>Свойство: Модель, ID: 38</p>
…

Данный пример достаточно примитивен. На практике использование API Bitrix как правило происходит разносторонне, исходя из ваших задач и потребностей. В связи с этим, для более рационального использования рекомендую работать с документацией:
http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockproperty/index.php
http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockpropertyenum/index.php

Опубликован: 04.08.2013 г.

См. также:

«Не удалось установить соединение с сервером. Проверьте …».
Получение Email-адреса покупателя в заказе (Bitrix D7)
Работа с URL-адресами в Bitrix D7
Работа с купонами в Bitrix API
Добавляем пункт меню для списков в админке Битрикс
Диалоговые окна в Bitrix API
Создание инфоблока при установке модуля
Создание копии корзины из заказа на Bitrix D7

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта