Jump to main content Jump to doc navigation

Что такое hooks?

Hooks в mxFormBuilder расширяют встроенные процессоры и позволяют настроить рендеринг формы или дополнительные действия после успешной отправки. Есть два типа. preHooks выполняются до рендеринга формы и меняют то, что парсер выводит на страницу. hooks вызываются после успешной отправки.

В обоих типах доступен полный объект формы mxFormBuilder. Вы можете менять его части и использовать ввод пользователя. Переменная по умолчанию: $hook, её вы используете в сниппете.

Как использовать

Сценариев применения hooks до и после обработки много. mxFormBuilder вызывает hooks в двух точках: preHooks и hooks. Первая точка: генерация полей для UI, параметр preHooks со строкой имён сниппетов через запятую. Каждый сниппет вызывается по порядку и должен вернуть true, иначе следующие сниппеты в списке не выполняются.

Hook: preHooks

Параметр preHooks задаёт сниппет, который выполняется до рендеринга полей формы. В hook можно изменить значения полей или полностью переписать HTML конкретного поля. Укажите имена сниппетов. В вызываемом сниппете используйте переменные $hook и $fields.

Hook: hooks

Как и preHooks, параметр hooks принимает список имён сниппетов через запятую. Сниппеты вызываются по порядку. Обработка продолжается, пока каждый возвращает true.

$fields: доступ к полям формы

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • JT Skaggs
  • deJaya
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$194 per month—let's make that $500!

Learn more