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}

0 ответов

Другие вопросы по тегам