| Цитата |
|---|
| Никита Курбатов написал: Я что-то делаю не так, или же необходимо написать собственную реализацию данного контроллера, наследуя Bitrix\Main\Routing\Controllers\PublicPageController который и будет обеспечивать обратную совместимость с страницами? |
При активизации нового роутинга подключается файл bitrix/modules/main/include/routing_index.php
В нём идёт определение типа подключаемого контроллера и если контроллер типа PublicPageController
то идёт выполнение следующего кода
| Код |
|---|
if ($controller instanceof PublicPageController)
{
include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/virtual_io.php");
$io = CBXVirtualIo::GetInstance();
$_SERVER["REAL_FILE_PATH"] = $controller->getPath();
Context::getCurrent()->getServer()->set('REAL_FILE_PATH', $controller->getPath());
include_once($io->GetPhysicalName($_SERVER['DOCUMENT_ROOT'].$controller->getPath()));
die;
} |
Так что c контроллером всё PublicPageController всё в порядке, всё что от него нужно это вернуть путь к файлу.