написал: Всем привет. после последних обновлений перестал работать вызов методов через компонет в js BX.ajax.runComponentAction как я вижу пишет что не так описан метод как в интерфейсе, но самое интересное страницы то загружаются нормально а именно запросы не идут.
Цитата
Fatal error : Declaration of Bitrix\Main\Web\Uri::getScheme() must be compatible with Psr\Http\Message\UriInterface::getScheme(): string in /bitrix/modules/main/lib/web/uri.php on line 224 [ErrorException] E_COMPILE_ERROR Declaration of Bitrix\Main\Web\Uri::getScheme() must be compatible with Psr\Http\Message\UriInterface::getScheme(): string (0) /bitrix/modules/main/lib/web/uri.php:224 ----------
Я пока не поняла как - но интерфейс не соответствовал стандартам psr7 и в файлах по адресу vendor/psr/http-message/src/UriInterface.php и тд все методы интерфейса возвращали какой-либо тип (пока убрала руками и пытаюсь понять откуда они вообще в таком виде появились в либах) - по стандартам методы этих интерфейсов ничего не возвращают - https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface
Да, все верно, рабочий вариант убрать возвращаемый тип в интерфейсах тут /vendor/psr/http-message Происходит это из за того что берется не тот интерфейс, есть битриксовый у которого нет возвращаемого типа, лежит по пути bitrix/modules/main/vendor/psr/http-message/src/UriInterface.php а на проекте используется composer c guzzlehttp/guzzle который в зависимостях ставит psr и у них namespace одинаковые.
Всем привет. после последних обновлений перестал работать вызов методов через компонет в js BX.ajax.runComponentAction как я вижу пишет что не так описан метод как в интерфейсе, но самое интересное страницы то загружаются нормально а именно запросы не идут.
Цитата
Fatal error: Declaration of Bitrix\Main\Web\Uri::getScheme() must be compatible with Psr\Http\Message\UriInterface::getScheme(): string in /bitrix/modules/main/lib/web/uri.php on line 224 [ErrorException] E_COMPILE_ERROR Declaration of Bitrix\Main\Web\Uri::getScheme() must be compatible with Psr\Http\Message\UriInterface::getScheme(): string (0) /bitrix/modules/main/lib/web/uri.php:224 ----------
Ситуация такая, есть свой импорт элементов инфоблока, обновление происходит обычно через CIBlockElement::Update(); Элемент обновляется, и в админке показывает новые данные(обновленное название), но на фронте изменений нету, даже после сброса кеша. Порылся в чем может быть проблема и наткнулся на такое: $ipropValues = new \Bitrix\Iblock\InheritedProperty\ElementValues($IBLOCK_ID, $ID); $ipropValues->clearValues(); Как понял сбрасывает кеш в базе. И вот пока это не сделаешь на фронте висят старые данные. может кому поможет, так как поиском ничего подобного не нашел.