Ошибка после обновления, нет метода reinitPath

1
Алексей,
Ошибка после обновления, нет метода reinitPath
Ошибка после обновления, нет метода reinitPath

Метод был удалён где-то в 24 версии ядра. В интернете можно встретить подобные решения проблемы:

Текст ошибки "Call to undefined method CMain::reinitPath()"
Метод был удалён где-то в 24 версии ядра. В интернете можно встретить подобные решения проблемы:

//CMain::reinitPath() заменить на:
$APPLICATION->sDocPath2 = GetPagePath(false, true);
$APPLICATION->sDirPath = GetDirPath($APPLICATION->sDocPath2);

И, с одной стороны, это верно, именно таким и был метод раньше.
Файл /bitrix/modules/main/classes/general/main.php, версия 22

Ошибка после обновления, нет метода reinitPath

Но вот в чем дело. Уже в версии 23, метод был объявлен устаревшим и ничего не выполнял.

Т.е., если вы обновляетесь с 23 версии и у вас всё работало, то вызов метода CMain::reinitPath можно просто удалить, а не менять его на какой-либо код.

Для чего вообще использовали этот метод? В ранних примерах подмены ЧПУ рекомендовали использовать этот метод как хак, для того, чтобы ядро принимало новый URL как настоящий. Например, при создании ЧПУ страницы фильтра, пагинации и т.п. Впоследствии от этого хака отказались.

Есть вопрос или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 1 октября 2025
обновление, ошибка, ядро, чпу
Поделиться
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
Метод был удалён где-то в 24 версии ядра. В интернете можно встретить подобные решения проблемы: