Appearance
Сниппеты, TV, Fenom
Fenom: рабочие практики проекта
Глобальные плейсхолдеры (через модификатор)
Для плейсхолдеров, которые выставляют сниппеты (toPlaceholder, totalVar, …), используется модификатор:
- вывод:
{'newsOuter'|placeholder} - проверка:
{if ('newsOuter'|placeholder)?}...{/if} - числа:
{if ('newsTotal'|placeholder) > 3}...{/if}
Важно: в chunks/tpls/*.tpl часто используется $_pls[...] — это плейсхолдеры элемента списка, не глобальные.
Получение полей/TV из другого ресурса
Вместо getObject('modResource', ID) используется Fenom‑модификатор |resource:
- JSON TV:
{var $comment = 12 | resource : "comment" | fromJSON} - поле/TV:
{var $title = 8 | resource : "pagetitle"}
MIGX/TV JSON без getImageList
Если TV хранит JSON, его можно парсить прямо в шаблоне:
{var $items = $_modx->resource.someTv | fromJSON}{foreach $items as $item} ... {/foreach}
Формы (AjaxForm/FormIt)
В footer.tpl определены модалки:
#feedback— формаAjaxForm.feedback#callback— формаAjaxForm.callback
Плюс секция формы в contact-form.tpl:
- форма
AjaxForm.contact
Общий паттерн:
{'AjaxForm'|snippet:[ 'snippet'=>'FormIt', 'hooks'=>'email', ... ]}validateобычно:fio:required,tel:required,message(без required)- после
af_completeпоказывается#responseMessage(успех/ошибка)
Список “важных” TV/настроек (по коду проекта)
TV/данные:
gallery,docs,tables,questioncase(кейсы)nums(цифры)footer(структура меню футера из MIGX/TV)- для
sales.tpl:banners,actions
Системные настройки ($_modx->config.*) которые реально используются:
site_name,site_urlassets_urllogo,faviconcompany_namephone,schedule_phoneaddress,emailemailTo,emailFrommask_code- соцсети:
youtube,vk,inst,whatsapp,viber,telegram