Решили рассмотреть переход сайта на php 8 (ну как решили, битрикс активно об этом намекает). Так вот, при переводе сайта на php 8 поля данного модуля не отображаются в админке сайта (при редактировании). Смена класса на CUserTypeStringFormatted и добавление static к его методам не помогает.
Ну если быть точнее, то к строке function GetEditFormHTML($arUserField, $arHtmlControl) static и не применяется...
Добрый день. Пользовался данным модулем когда-то давно, поэтому стало интересно в чём проблема. Решение такое: 1) в файле /bitrix/modules/d2mg.ufhtml/install/index.php заменить function d2mg_ufhtml на function __construct 2) в файле /bitrix/modules/d2mg.ufhtml/classes/general/customtypehtml.php сделать несколько замен: - extends CUserTypeString на extends \Bitrix\Main\UserField\Types\StringType - function GetUserTypeDescription() на public static function GetUserTypeDescription():array - function GetEditFormHTML($arUserField, $arHtmlControl) на public static function GetEditFormHTML(array $arUserField, ?array $arHtmlControl): string - function OnBeforeSave($arUserField, $value) на public static function OnBeforeSave($arUserField, $value)
написал: Добрый день. Пользовался данным модулем когда-то давно, поэтому стало интересно в чём проблема. Решение такое: 1) в файле /bitrix/modules/d2mg.ufhtml/install/index.php заменить function d2mg_ufhtml на function __construct 2) в файле /bitrix/modules/d2mg.ufhtml/classes/general/customtypehtml.php сделать несколько замен: - extends CUserTypeString на extends \Bitrix\Main\UserField\Types\StringType - function GetUserTypeDescription() на public static function GetUserTypeDescription():array - function GetEditFormHTML($arUserField, $arHtmlControl) на public static function GetEditFormHTML(array $arUserField, ?array $arHtmlControl): string - function OnBeforeSave($arUserField, $value) на public static function OnBeforeSave($arUserField, $value)