Коллеги всем привет. С незапамятных времен на всех проектах, при добавлении собственного модуля использовал класс CModuleOptions (статья тут https://dev.1c-bitrix.ru/community/webdev/user/104863/blog/5296/?commentId=65024) С недавнего времени (точно не знаю после какого обновления) все пошло по одному месту. Сначала перестали отображаться элементы форм. Был заменен вызов внутри класса с public function CModuleOptions($module_id, $arTabs, $arGroups, $arOptions, $need_access_tab = false) на function __construct($module_id, $arTabs, $arGroups, $arOptions, $need_access_tab = false)
на какое-то время все стало хорошо. Но сейчас появилась новая проблема. При размещении своего модуля в папке local на странице настроек стал получать ошибку подключения include.php файла скрипта, после чего явно в файле options.php добавил подключение своего модуля через \Bitrix\Main\Loader::includeModule. И теперь на странице настроек модуля получаю форму с инпутами но без интерфейса админки битрикс (см скрин) Может кто сталкивался? Очень прошу помощи.
написал: Смотрите тело ответа тогда. Хотя настройка у вас отключает показ варнингов ( ~ E_WARNING)
Евгений, ну Вы как всегда гений))) Спасибо. Заглянул под юбочку в html код страницы, а там следующая история:
Код
<pre>[TypeError]
method_exists(): Argument #1 ($object_or_class) must be of type object|string, bool given (0)
/home/i/********/********/public_html/bitrix/modules/main/admin/group_rights.php:161
#0: method_exists(boolean, string)
/home/i/********/********/public_html/bitrix/modules/main/admin/group_rights.php:161
#1: require_once(string)
/home/i/********/********/public_html/local/modules/********/classes/general/CModuleOptions.php:236
#2: CModuleOptions->ShowHTML()
/home/i/********/********/public_html/local/modules/********/options.php:118
#3: include(string)
/home/i/********/********/public_html/bitrix/modules/main/admin/settings.php:70
#4: require_once(string)
/home/i/********/********/public_html/bitrix/admin/settings.php:2
----------
</pre>
Все было из-за переменной $showRightsTab в начале скрипта options.php. Хоть она и имела значение true по-умолчанию и отвечала за отображение вкладки управления правами доступа к модулю, что является булевым, все равно почему-то была ошибка (разбираться не стал, так как управление правами не требуется). В общем выставил значение переменной на false и все заработало. Спасибо за подсказку!