Как это происходит у нас? Два варианта. Вариант 1. 1. В ТВ версии фиксируем все изменения в гите git add .; git commit -am «comment»; 2. На РВ накатываем изменения git pull; 3. Очищаем кеш.
Вариант 2. Плагин newDesign (должен вызываться раньше, чем плагин modxSmarty). Делается копия скина Смарти-шаблона сайта с новым названием. Когда плагин активирован, включается другой скин сайта и кеш-префикс, и разработчик работает на боевом сайте, но никакие изменения в шаблонизации сайта не могут быть увидены простыми посетителями. Какой-нибудь новый процессор в системе они тоже никак не увидят. Таким образом на сайте ведется реальная работа с реальными данными, но сайт для неадминов работает в обычном режиме. Когда работа выполнена, проверена и готова к запуску, просто в системной настройке меняется название используемого шаблона на новый и все.