Пользовательское свойство инфоблока
Пользовательское свойство для инфоблока можно добавить через функцию AddEventHandler('iblock', 'OnIBlockPropertyBuildList')
в файле bitrix/php_interface/site_id/init.php (если файла нет, его надо создать).
# bitrix/php_interface/site_id/init.php AddEventHandler("iblock", "OnIBlockPropertyBuildList", array("CIBlockPropertyCustom", "GetUserTypeDescription")); class CIBlockPropertyCustom { public function GetUserTypeDescription() { return array( "PROPERTY_TYPE" => "S", // тип свойства — строка "USER_TYPE" => "HTML", "DESCRIPTION" => "Имя поля", ); } }
В инфоблоке при выборке свойств появится новый пункт «Имя поля».
Но поле ввода для данного значения пока не выводится.
Чтобы можно было вводить и сохранять значения для нового свойства, надо добавить параметр GetPropertyFieldHtml
.
# bitrix/php_interface/site_id/init.php AddEventHandler("iblock", "OnIBlockPropertyBuildList", array("CIBlockPropertyCustom", "GetUserTypeDescription")); class CIBlockPropertyCustom { public function GetUserTypeDescription() { return array( "PROPERTY_TYPE" => "S", // тип свойства — строка "USER_TYPE" => "HTML", "DESCRIPTION" => "Имя поля", "GetPropertyFieldHtml" => array("CIBlockPropertyCustom", "GetPropertyFieldHtml"), ); } // вывод поля свойства на странице редактирования public function GetPropertyFieldHtml($arProperty, $value, $strHTMLControlName) { return '<input type="text" name="'.$strHTMLControlName["VALUE"].'" value="'.$value['VALUE'].'">'; } }
Теперь поле для нового свойства выводится и его можно редактировать.
Поддержать автора
Все статьи создаются и поддерживаются одним человеком,
если вам нравится контент, вы можете поддержать автора сайта