Возможно, подойдет немного другая формулировка задачи:
- создать и сохранить документ, который выглядит "как главная страница" в текущий момент...
При этом существенно, что со временем архивы не должны изменяться (т.е. появление новых статей-новостей не влияет на архивный документ) - значит, можно не вызывать каждый раз, например, ditto с выборкой по новостям "от и до", а сохранить результат текущего вызова ditto целиком (как вариант - сделать несколько TV.. под каждый вызов ditto)
В самом простом варианте - сохраняем страницу целиком. Просто формируем главную страницу по всем правилам (можно просто "скачать", например,
$html = file_get_contents('http://domain.tld');
) и весь HTML-код целиком складываем в новый документ (с "пустым" шаблоном) или в статичный файл..
В этом случае могут возникнуть трудности при изменении шаблона (как всего сайта, так и, например, одной новости..)
Можно сохранять "блоками" - "левый", центральный, правый.. Или "фото", "новости" и т.д.
Как вариант - сохранять в TV (специально для шаблона "архив") исключительно требуемые для подстановки данные из результата вызова дитто в удобном для разбора формате (например, сериализованный массив.. или что-то вроде [::pagetitle::content::pagetitle::content::]).
Сохранение делать при нажатии какой-нибудь кнопочки типа "Создать архив для главной", которую можно оформить как сниппетом (для зарегистрированных пользователей), так и выделить в отдельный модуль для менеджера. (хм. ещё,думаю при помощи managermanager(?), можно при создании нового документа в каталоге "архив" автоматически заполнять поля документа.. по результатам вызова нужных сниппетов )
В случае со сниппетом создание документа и задание TV можно сделать, используя API (rtfm.modx.com ругается 502 ошибкой.. точно не скажу)