Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Сайдбар

Хуки по своему существу – это скрипты, которые запускаются после того, как форма прошла валидацию FormIt. Они могут соединяться: сначала выполняется первый хук, если он пройден удачно, задействуется следующий. Если хук не пройден, обработка следующего не начинается, вместо этого программа возвращается к форме и отправляет сообщение об ошибке.


Крючками могут быть также имена сниппета, которые далее превращают сниппет в хук.

Есть два типа хуков:

• «рreHook» задается через свойство «preHooks» в сниппете FormIt, который выполняется при загрузке формы. Полезно для предварительной загрузки значений.

• обычный хук, задается через свойство «hooks» в сниппете FormIt, который выполняется после проверки формы. Пригодится для настраиваемой пост-обработки.

 

Использование preHooks

Просто укажите preHook в свойстве «preHooks» в Вашем запросе сниппета FormIt. Здесь нет доступных встроенных preHooks, но если у Вас есть preHook под названием «loadCustomValues»:



Затем запустите сниппет «loadCustomValues» до загрузки формы. Далее можно установить поля формы следующим образом:

<?php
$hook->setValue('name','John Doe');
$hook->setValue('email','john.doe@fake-emails.com');
return true;


Или же с помощью -> SetValues:


<?php
$hook->setValues(array(
  'name' => 'John Doe',
  'email' => 'john.doe@fake-emails.com',
));
return true;


Обратите внимание, что использование здесь метода  SetValues () создаст соответствующие плейсхолдеры,  доступные для Вашего email-чанка;  эффект от ручной установки значений схожий с добавлением скрытых полей в форму.

Вы можете делать все, что захотите в preHook. Помните, что если Ваш preHook или Hook  успешные, нужно указать return true. Если Вы хотите добавить сообщение об ошибке в поле:


$hook->addError('user','User not found.');
return false;

 


Использование хуков

Просто укажите хук в свойстве «hooks» в запросе сниппета FormIt. Например, так загружаются спам-хуки и почтовые хуки:


 


Встроенные хуки

Это список из встроенных хуков, которые поставляются в пакете с FormIt:

-email

-redirect

-spam

-recaptcha

-FormItAutoResponder

 

Хук redirect (если используется) всегда должен указываться как последний хук. Помните, что хуки реализовываются в порядке, указанном в свойстве.

 

Настраиваемые хуки

Любой сниппет может быть использован с Formit в качестве настраиваемого хука. Сниппет должен вернуть true в случае успеха, либо false или совокупность сообщений об ошибках в случае отказа (см. ниже). Если сниппет возвращает false, хуки, перечисленные после сниппета в параметре &hooks, не будут выполняться. Если сниппет не найден, хуки после него в списке будут выполняться.

 

Регистрация настраивамых хуков

Чтобы зарегистрировать настраиваемый хук, просто добавьте имя сниппета в параметр &hooks. Хуки будут выполняться в том порядке, в котором они появляются в параметре &hooks. Ваш сниппет может иметь любую позицию в списке.

 

Доступ к полям FormIt в Hook

Поля Formit доступны через hook api. Пример:


$email = $hook->getValue('email');
$allFormFields = $hook->getValues();


Если Вы хотите установить поля, Вам все же нужно будет получить к ним доступ следующим образом:


$hook->setValue('email','reset@thisemail.com');
$hook->setValues(array(
  'name' => 'Shaun',
  'books' => 'Hunger Games,To Kill a Mockingbird,Mindset',
));

 

Возвратные значения настраиваемого хука

Сниппеты должны возвращать true при успешном исходе. В случае неудачи сниппет может вставить сообщения об ошибке в переменную ошибок объекта крючка и выдать false. В любом случае хуки, перечисленные после настраиваемого хука в параметре &hooks, не будут реализовываться.

Объект fiHooks доступен в сниппете как $hook, который можно использовать для возврата общих сообщений об ошибках от сниппета:


$errorMsg = 'User not found';
$hook->addError('user',$errorMsg);
return false;

 

Опять же, помните: если Ваш хук удачный, убедитесь, что «return true;» находится в конце Вашего Hook. Если Вы используете «return false;» или возврат значения не состоялся, для FormIt это означает, что хук не пройден. Кроме того, убедитесь, что любые указанные Вами настраиваемые хуки расположены перед хуком-редиректом в свойстве hooks.

 

Файловые хуки

FormIt 2.0.0+ поддерживает файловые хуки и preHooks. Это означает, что Вы можете указать FormIt прямо в файле PHP для использования в качестве настраиваемого хука. Например:


 




Таким образом производится определение MODX тегов в строке хука, а затем поиск хука в assets/hooks/my.hook.php. Если файл найден, он будет определять хук оттуда.






Email хук FormIt


FormIt крючок AutoResponder


Математический хук FormIt


Хук ReCaptcha


Redirect hook


Спам хук