тип поля, но при создании в админке тип поля не отображается, при этом ошибка тоже нету
<?php
use Bitrix\Main\EventManager;
use Bitrix\Main\UI\Extension;
use Bitrix\Main\UserField\TypeBase;
Extension::load("ui.buttons");
class MyUserType extends TypeBase
{
const USER_TYPE_ID = 'myusertype';
public static function GetUserTypeDescription()
{
return [
'USER_TYPE_ID' => static::USER_TYPE_ID,
'CLASS_NAME' => __CLASS__,
'DESCRIPTION' => 'Кастомное поле',
'BASE_TYPE' => \CUserTypeManager::BASE_TYPE_STRING,
'EDIT_CALLBACK' => [__CLASS__, 'GetPublicEdit'],
'VIEW_CALLBACK' => [__CLASS__, 'GetPublicView'],
];
}
public static function GetDBColumnType($arUserField)
{
global $DB;
switch(strtolower($DB->type))
{
case "mysql":
return "text";
case "oracle":
return "varchar2(2000 char)";
case "mssql":
return "varchar(2000)";
}
}
public static function GetPublicView($arUserField, $arAdditionalParameters = [])
{
Extension::load('ui.buttons');
return '<a href="#" class="ui-btn ui-btn-danger">Button From Custom Field</a>';
}
public static function GetPublicEdit($arUserField, $arAdditionalParameters = [])
{
Extension::load('ui.buttons');
$name = static::getFieldName($arUserField, $arAdditionalParameters);
return '<input type="hidden" name="' . $name . '" value="1"/><a href="#" class="ui-btn ui-btn-success">Button From Custom Field</a>';
}
}
$eventManager = EventManager::getInstance();
$eventManager->addEventHandlerCompatible('main', 'OnUserTypeBuildList', ['MyUserType', 'GetUserTypeDescription']);
ошибок нет, я проверил,. гля подключние это файла в init
Обсуждают сегодня