Solespace Freeform Следующий хук данных формы
Я новичок в FreeForm Next. Я пытался создать хук в EE, чтобы получить данные из формы Freeform Next. Документация неясна для меня, как правильно вызвать хук и какие переменные я могу извлечь из него. Мне нужно немного понять, как вызывать расширение (хук) и в каких переменных будут храниться данные. Ниже приведен мой код, на данный момент я закомментировал хук (пробуя новые вещи).
шаблон, на который перенаправляется форма:
h1>hook Try</h1>
<?php
echo "Hello world";
echo "<br> Template id: " . ee()->TMPL->template_id . "<br>";
//echo "<pre>";
echo "<pre>";
print_r($values);
//print_r(get_defined_vars() );
?>
<!--
<?php
if (ee()->extensions->active_hook('freeform_next_submission_before_save') === TRUE)
{
$str = ee()->extensions->call('freeform_next_submission_before_save');
}
else{
echo "Not active";
}
?>
-->
удлинитель (крючок):
<?php
/*
Class: Form Data
Author: Thomas
Date: 10.10.17
Purpose: Get form data
*/
class Form_data_ext {
// ----------------------------------------------------
//Required extension variables
var $name = 'Form Data';
var $version = '1.0';
var $description = 'Pull form data to use.';
var $settings_exist = 'n';
var $docs_url = ''; // 'https://ellislab.com/expressionengine/user-guide/';
var $settings = array(); //This class does not use settings
// ----------------------------------------------------
/**
* Constructor
* @param mixed Settings array or empty string if none exist.
*/
public function __construct($settings = '') {
$this->settings = $settings;
} //End of Function
// ----------------------------------------------------
//Function: Lock Entry
public function form_data($entry, $values) {
echo "<pre>";
print_r(get_defined_vars() );
exit;
//$template_id = (int)$entry->template_id;
/*
if(ee()->TMPL->template_id == '1241'){
die( 'done sir' );
exit;
}
*/
} //End of Function
// ----------------------------------------------------
//Activate Extension
public function activate_extension() {
$data = array(
'class' => __CLASS__,
'method' => 'form_data',
'hook' => 'freeform_next_submission_before_save',
'settings' => serialize($this->settings),
'priority' => 10,
'version' => $this->version,
'enabled' => 'y'
);
ee()->db->insert('extensions', $data);
} //End of Function
// ----------------------------------------------------
/**
* Update Extension
*
* This function performs any necessary db updates when the extension
* page is visited
*
* @return mixed void on update / false if none
*/
public function update_extension($current = '') {
if( $current == '' OR $current == $this->version ) {
return FALSE;
}
if( $current < '1.0' ) {
// Update to version 1.0
}
ee()->db->where('class', __CLASS__);
ee()->db->update(
'extensions',
array('version' => $this->version)
);
} //End of Function
// ----------------------------------------------------
/**
* Disable Extension
*
* This method removes information from the exp_extensions table
*
* @return void
*/
public function disable_extension() {
ee()->db->where('class', __CLASS__);
ee()->db->delete('extensions');
} //End of Function
// ----------------------------------------------------
} //End oClass
код формы в файле HTML:
{exp:freeform_next:render
form="test_freeform_next"
label_class="form-label"
input_class="form-control"
instructions_below_field="yes"
}
{/exp:freeform_next:render}