FormIt сохранить поля которых нет в форме
        Здравствуйте! Столкнулся с таким вопросом.
Есть формы которые отправляют определенные данные и сохраняют их в FormIt. Но мне нужно чтобы дополнительно FormIt сохранял определенные данные, которых нет в форме (по определенным причинам я не хочу их там указывать, даже скрывая эти поля).
И вот даже не могу понять в какую сторону копать. В идеале это было бы сделать Плагин, чтобы в каждую форму не писать новый Хук, но и с Хуком в целом подойдет.
В документации ничего такого не нашел. Посмотрел Сниппет FormItSaveForm там есть такое:
Предполагаю что можно как-то запихнуть их в 'values' => $dataArray но как это сделать отстраненно от этого Сниппета, чтобы потом все не перезатерлось после обновления не могу понять.
Буду признателен за помощь.
Спасибо.
     
    
    
                                                                                
            Есть формы которые отправляют определенные данные и сохраняют их в FormIt. Но мне нужно чтобы дополнительно FormIt сохранял определенные данные, которых нет в форме (по определенным причинам я не хочу их там указывать, даже скрывая эти поля).
И вот даже не могу понять в какую сторону копать. В идеале это было бы сделать Плагин, чтобы в каждую форму не писать новый Хук, но и с Хуком в целом подойдет.
В документации ничего такого не нашел. Посмотрел Сниппет FormItSaveForm там есть такое:
$newFormArray = array(
        'form' => $formName,
        'date' => time(),
        'values' => $dataArray,
        'ip' => $modx->getOption('REMOTE_ADDR', $_SERVER, ''),
        'context_key' => $modx->resource->get('context_key'),
        'encrypted' => $formEncrypt,
        'encryption_type' => $encryptionType,
        'hash' => $formHashKey,
    );Буду признателен за помощь.
Спасибо.
Комментарии: 7
                Вот здесь инструкция, как добавить информацию при помощи хука.            
                    
                Спасибо, попробовал. Что-то не получается.
Добавил хук:
                    Добавил хук:
'hooks' => 'hook.utmsaveform,email,FormItSaveForm',Создал сниппет hook.utmsaveform:$hook->setValue('utm_source',   $_COOKIE['utm_source']);
$hook->setValue('utm_medium',   $_COOKIE['utm_medium']);
$hook->setValue('utm_campaign', $_COOKIE['utm_campaign']);
$hook->setValue('utm_term',     $_COOKIE['utm_term']);
$hook->setValue('utm_content',  $_COOKIE['utm_souutm_contentrce']);
return true;И в просмотре форм пусто, нет этих полей, в БД тоже их нет :( Что делаю не так?            
                А сниппет получает массив $_COOKIE? И немного резануло глаз наименование сниппета с точкой. Вдруг FormIt не поддерживает подобное наименование хуков.            
                    
                Проверьте так: 
                    $modx->log(xPDO::LOG_LEVEL_ERROR, $_COOKIE['utm_source']);            
                Спасибо, вы были правы, проблема с «точкой» в названии хука.
НО! Сейчас в лог я смог вывести куку, но в форму так ничего и не записалось.
Я просматриваю что записалось через плагин FormIt, где все сохраненные формы.
Стоит вызов хука вроде правильно, перед email и FormItSaveForm:
                    НО! Сейчас в лог я смог вывести куку, но в форму так ничего и не записалось.
Я просматриваю что записалось через плагин FormIt, где все сохраненные формы.
Стоит вызов хука вроде правильно, перед email и FormItSaveForm:
'hooks' => 'spam,hook.prepareForm,hookutmsaveform,email,FormItSaveForm',В базе данных тоже нет записей, смотрел.            
                Если у FormIt есть параметр formFields, то записываются только те поля, которые указаны в этом параметре.            
                    
                Да, вы правы, были обозначены поля, из-за этого эти не прописывались.
Спасибо, надо быть мне внимательнее.
                    Спасибо, надо быть мне внимательнее.
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.