Добавляем в init.php Обработчик
1 |
AddEventHandler('main', 'OnUserTypeBuildList', array('CUserTypeSectionsHtmlField', 'GetUserTypeDescription'), 5000); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
class CUserTypeSectionsHtmlField { function GetUserTypeDescription() { return array( // уникальный идентификатор 'USER_TYPE_ID' => 'sections_html_field', // имя класса, методы которого формируют поведение типа 'CLASS_NAME' => 'CUserTypeSectionsHtmlField', // название для показа в списке типов пользовательских свойств 'DESCRIPTION' => 'HTML/text', // базовый тип на котором будут основаны операции фильтра 'BASE_TYPE' => 'string', ); } function GetDBColumnType($arUserField) { switch (strtolower($GLOBALS['DB']->type)) { case 'mysql': return 'text'; break; } } function GetSettingsHTML($arUserField = false, $arHtmlControl, $bVarsFromForm) { $result = ''; return $result; } function CheckFields($arUserField, $value) { $aMsg = array(); return $aMsg; } function GetEditFormHTML($arUserField, $arHtmlControl) { if ($arUserField["ENTITY_VALUE_ID"] < 1 && strlen($arUserField["SETTINGS"]["DEFAULT_VALUE"]) > 0) $arHtmlControl["VALUE"] = htmlspecialchars($arUserField["SETTINGS"]["DEFAULT_VALUE"]); ob_start(); echo '<div class="html_realweb">'; CFileMan::AddHTMLEditorFrame($arHtmlControl["NAME"], $arHtmlControl["VALUE"], "html", "html", 200, "N", 0, "", "", "s1"); echo '</div>'; $b = ob_get_clean(); return $b; } function GetEditFormHTMLMulty($arUserField, $arHtmlControl) { $html = 'Поле не может быть множественным!'; return $html; } function GetFilterHTML($arUserField, $arHtmlControl) { $sVal = intval($arHtmlControl['VALUE']); $sVal = $sVal > 0 ? $sVal : ''; return CUserTypeSectionsHtmlField::GetEditFormHTML($arUserField, $arHtmlControl); } function GetAdminListViewHTML($arUserField, $arHtmlControl) { return ''; } function GetAdminListViewHTMLMulty($arUserField, $arHtmlControl) { return ''; } function GetAdminListEditHTML($arUserField, $arHtmlControl) { return ''; } function GetAdminListEditHTMLMulty($arUserField, $arHtmlControl) { return ''; } function OnSearchIndex($arUserField) { return ''; } function OnBeforeSave($arUserField, $value) { return $value; } } |