На самом деле можно использовать классы для расширения в связке с VirtualPage и тогда будет работать кэш.
Если нужен пример то установить VirtualPage настройте его и для ресурса назначенном для VirtualPage используйте class_key расширяющего класса.
Получиться пример тоже самое что у товаров для minishop.
Только чпу будет контролировать VirtualPage а не modx ну и соответственно чпу уже придется самим генерировать и записывать в modx чтобы потом можно было найти страницу