Кастомное свойство инфоблока
getUserTypeDescription
class MyIblockUserType
{
const string MY_IBLOCK_USER_TYPE_ID = 'design_work_scan_sketch_product';
public static function getUserTypeDescription(): array
{
return [
'USER_TYPER_ID' => self::MY_IBLOCK_USER_TYPE_ID,
'PROPERTY_TYPE' => \Bitrix\Iblock\PropertyTable::TYPE_ELEMENT,
'USER_TYPE' => self::class,
'DESCRIPTION' => 'Описание свойства',
'GetPublicEditHTML' => [self::class, 'getPublicEditHTML'],
'GetPublicEditHTMLMulty' => [self::class, 'getPublicEditHTMLMulty'],
'GetAdminListViewHTML' => [self::class, 'getAdminListViewHTML'],
'GetPropertyFieldHtml' => [self::class, 'getPropertyFieldHtml'],
'GetPropertyFieldHtmlMulty' => [self::class, 'getPropertyFieldHtmlMulty'],
'GetPublicViewHTMLMulty' => [self::class, 'getPublicViewHTMLMulty'],
];
}
}
Ключи
USER_TYPE_ID- строкаPROPERTY_TYPE-Bitrix\Iblock\PropertyTable::TYPE_NUMBERUSER_TYPE-self::classDESCRIPTION- описаниеGetPublicEditHTML- Показ поля в публичке при редактировании. Без этого поля тип не отображается в публичкеGetPublicEditHTMLMulty- Показ множественного в публичке при редактировании.GetPublicViewHTMLMulty- Показ множественного поля в списке в публичке. Принимает массив значений- Админка
GetAdminListViewHTML- Показ свойства в админке на странице списка элементов. Один метод на оба варианта множественное/обычноеGetPropertyFieldHtml- Показ свойства на деталке в админкеGetPropertyFieldHtmlMulty- Показ множественного свойства на детальной странице в админке
- Запись и получение из БД
ConvertFromDBConvertToDB
Публичка
GetPublicEditHTMLMulty
Вывод множественного свойства в публичке на деталке.
GetPublicViewHTMLMulty
Вывод множественного свойства в публичке на странице списка.
В параметре прилетают сразу все значения value.
Админка
GetAdminListViewHTML
Показ значения в списке элементов в админке. Для множественного свойства типа привязка элементов надо вернуть просто текст, битра сама соберёт в общую строку.
Входящие параметры
$prop- полное описание свойства$value- значение. Массив$control- набор значений для контрола формы на html
Примеры возвращаемых значений
- Для свойства типа строка
GetPropertyFieldHtmlMulty
Показ множественного свойства в деталке в админке. Если не указан - вызовется GetPropertyFieldHtml в цикле.
- Для свойства типа строка
Вспомогательные методы
_ShowPropertyField_ShowStringPropertyField($name, $property_fields, $values, $bInitDef, $bVarsFromForm)_ShowElementPropertyField- метод для показа поля для редактирования в админке