Самое главное: вам в помощь будет в принципе знание php, поэтому если в знаниях php есть серьезные пробелы, то надо восполнять это, иначе просто никак.
1 часто использую сниппет ClientConfig так сказать выношу все левые поля типо телефон компании тд для удобного редактирования он имеет плейхождео для вывода
1. Нет никаких проблем вызывать сниппет в Смарти, типа {snippet name=«ClientConfig» params=""}.
2. Если сам сниппет не возвращает результат, а просто набивает данные в плейсхолдеры, есть тег {ph name=$placeholder_name}. Все имеющиеся плагины-теги: github.com/Fi1osof/modxSmarty/tree/master/core/components/modxsmarty/smarty_plugins
Вставляйте дальше по коду везде, где хочется. Только вот нельзя в таком виде их использовать, если у вас сниппет ClientConfig вызвается как обычный сниппет [[!ClientConfig]], ибо в таком случае его реальная обработка будет выполнена MODX только в самом конце парсинга, и на момент Smarty-тегов просто не будет этих плейсхолдеров.
2 есть такая проверка на значение tv поля на да или нет `:else=`` как эту запись также перевести на php или smarty?
{field name=$tv_name assign=myparam} {if $myparam} {$myparam} {/if}