Реализация ЧПУ, объект Path, структура сайта
По умолчанию URL'ы страниц сайта формируются на основе структуры объектов. Каждый объект обладает свойством "мнемонический код" - "code".
При запросе URL "/catalog/books/kipling/" система пытается найти узел с кодом "kipling", вложенный в узел с кодом "books", вложенный в узел с кодом "catalog", вложенный в узел, являющийся главной страницей (ID главной страницы задается в конфигурации). Если такой узел удается найти, путь к нему (т.е. все объекты-предки) сохраняются в объекте Path. Иначе происходит отображение страницы-404. Если поле "код" пустое, оно может либо заполняться автоматически на основе названия, переведенного в транслит, либо браться из ID объекта.
Система роутинга URL может быть переопределена произвольным образом, но в любом случае должен быть получен объект Path, содержащий путь к текущему документу в реальной или "виртуальной" структуре сайта. Например, URL "/users/199/send-message/" соответствует пути "Пользователи / Василий Пупкин (id=199) / Написать сообщение". В реальной структуре сайта объект "Василий Пупкин" не содержит потомка "Написать сообщение", объект "Написать сообщение" может храниться где-то в другом месте (например, в скрытом разделе "Операции с профилем пользователя"). Формирования именно такого "виртуального" Path можно добиться, переопределив настройки роутинга.


