Jump to content

HelperForm hidden input field value


GS VISION
 Share

Recommended Posts

Dummy question but I cannot seem to find a straightforward answer. I am building a form using the HelperForm class and I want to pass a hidden field with it for which I use:

		    array(
			'type' => 'hidden',
			'value' => 43,
			'name' => 'id_product'
			),
		   )
		  ); 

Where value seems to invalid key in the array and doesn`t work. I saw the values array but it is said that it is used for radio buttons only.

 

How am I suppose to assign value to the input field?

 

EDIT: Found the solution myself. Inserted this when configuring the helper:

$helper->fields_value['id_product'] = Tools::getValue('id_product');
Edited by GS VISION (see edit history)
  • Like 2

Share this post


Link to post
Share on other sites

  • 5 years later...

Hi GS,

I know your post is old but i'm stucked at this point on PS 1.7.6, I built my config form with an hidden field and I cannot find the way to assign him the default value. I tried to add the configuration to the helper but still no success. Do you have any suggestion?

Thanks,

Simone

Share this post


Link to post
Share on other sites

something like that: (replace yourmodule/YOUR_MODULE_.. with your names)
 

public function switchYesNo($switchName) {
        return  array(
            array(
                'id' => $switchName .'_1',
                'value' => 1,
                'label' => $this->module->l('Enabled')
            ),
            array(
                'id' => $switchName.'_0',
                'value' => 0,
                'label' => $this->module->l('Disabled')
            )
        );
}    

public function processConfiguration()
{
        if (Tools::isSubmit('yourmodule_form'))
        {
            Configuration::updateValue('YOUR_MODULE_VAR1',Tools::getValue('YOUR_MODULE_VAR1',''));     //text
            Configuration::updateValue('YOUR_MODULE_VAR2',(int)Tools::getValue('YOUR_MODULE_VAR1',0));  //switch
            // if you want store default value of hidden field then
            Configuration::updateValue('YOUR_MODULE_VAR3',Tools::getValue('YOUR_MODULE_VAR3',DEFAULT_VALUE_OF_VAR3));  

            $this->context->smarty->assign('confirmation', 'ok');            
        }

}

public function renderYourModuleConfigForm()
    {
        $inputs = array(
            array('name' => 'YOUR_MODULE_VAR1', 'label' => $this->module->l('variable1'), 'type' => 'text'),
            array('name' => 'YOUR_MODULE_VAR2', 'label' => $this->module->l('variable2'), , 'type' => 'switch', 'values' => $this->switchYesNo('YOUR_MODULE_VAR2')),
            array('name' => 'YOUR_MODULE_VAR3',  'type' => 'hidden'),
//          ...
        );

        $fields_form = array(
            'form' => array(
                'legend' => array(
                    'title' => $this->module->l('Your title'),
                    'icon' => 'icon-wrench'
                ),
                'input' => $inputs,
                'submit' => array('title' => $this->module->l('Save'))
            )
        );

        $helper = new HelperForm();
        $helper->table = 'yourmodule';
        $helper->default_form_language = (int)Configuration::get('PS_LANG_DEFAULT');
        $helper->allow_employee_form_lang = (int)Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG');
        $helper->submit_action = 'yourmodule_form';
        $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->module->name.'&tab_module='.$this->module->tab.'&module_name='.$this->module->name;
        $helper->token = Tools::getAdminTokenLite('AdminModules');
        $helper->fields_value = array(
            'YOUR_MODULE_VAR1' => Tools::getValue('YOUR_MODULE_VAR1', Configuration::get('YOUR_MODULE_VAR1')),
            'YOUR_MODULE_VAR2' => Tools::getValue('YOUR_MODULE_VAR2', Configuration::get('YOUR_MODULE_VAR2')),
            'YOUR_MODULE_VAR3' => (Configuration::get('YOUR_MODULE_VAR3')) ? Configuration::get('YOUR_MODULE_VAR3') : DEFAULT_VALUE_OF_VAR3,
//        ....
          );
            $helper->tpl_vars = array(
            'fields_value' => $helper->fields_value,
            'languages' => $this->context->controller->getLanguages()
        );

        return $helper->generateForm(array($fields_form));
    }


//-----------------------------------------
public function getContent()
{
        $this->processConfiguration();
        $html_form = $this->renderYourModuleConfigForm();
        $this->context->smarty->assign('form', $html_form);
        $html = $this->module->display($this->file, 'getContent.tpl');
        return $html;
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More