Jump to content

Undefined index (input text name) in Back office customization


tarek.fellah

Recommended Posts

Hi all,

 

I use Prestashop 1.5.4,

I'm creating a 1.5 Prestashop module to show a part of cms page like read more cms module,

 

I got this error, in the module configuration.

 

kwOvn.png

Notice: Undefined index: name in /var/www/presta/cache/smarty/compile/7d2a4e588611a8a1dd049f82d14a4ae0b20fe990.file.form.tpl.php on line 228

'name' is the input text name,

 

the line 228 like this

<?php $_smarty_tpl->tpl_vars['value_text'] = new Smarty_variable($_smarty_tpl->tpl_vars['fields_value']->value[$_smarty_tpl->tpl_vars['input']->value['name']], null, 0);?>

It's like an error related to value text, i changed 'name' to another values but still have the same error.

my code for displayForm function:

public function displayForm()
{
    // Get default Language
    $default_lang = (int)Configuration::get('PS_LANG_DEFAULT');
     $id_lang = (int)Context::getContext()->language->id;
    
    $categories = $this->getCMSCategories(false, 0, (int)$id_lang);
    $options = array();
    
    foreach ($categories as $category)
    {
    	
    	$pages = $this->getCMSPages((int)$category['id_cms_category'], false, (int)$id_lang);
   
    	foreach ($pages as $page){
    	//	var_dump($page['meta_title']);exit;
    		$radioelement =array(
    				'id' => 'id_cms'.(int)$page['id_cms'],
    				'value' => (int)$page['id_cms'],
    				'label' => $page['meta_title']
    		);
    	$options[]	= $radioelement;
    	}	
    }
    
    
    //$spacer = str_repeat(' ', $this->spacer_size * (int)$depth);
    
    $fields_form[0]['form'] = array(
    		'legend' => array(
    				'title' => $this->l('Settings'),
    		),
    
    		'input' => array(
    				array(
  'type'     => 'text',                                // This is a regular <input> tag.
  'label'    => $this->l('Name'),                      // The <label> for this <input> tag.
  'name'     => 'name',                                // The content of the 'id' attribute of the <input> tag.
  'size'     => 50,                                    // The content of the 'size' attribute of the <input> tag.
  'required' => true,                                  // If set to true, this option must be set.
  'desc'     => $this->l('Please enter your name.')    // A help text, displayed right next to the <input> tag.
),
    				 array(
    				'type' => 'radio',
    				'label' => $this->l('choose a cms page'),
    				'name' => 'id_cms',
    				'class' => 't',
    				 'values' => $options,
    				'is_bool' => false,
    				'required' => true
    		)
    		),
    		
    		'submit' => array(
    				'title' => $this->l('Save'),
    				'class' => 'button',
    				'name'=>'submitCmsReadMore'
    		)
    );
    
 
   
     
    $helper = new HelperForm();
     
    // Module, t    oken and currentIndex
    $helper->module = $this;
    $helper->name_controller = $this->name;
    $helper->token = Tools::getAdminTokenLite('AdminModules');
    $helper->currentIndex = AdminController::$currentIndex.'&configure='.$this->name;
     
    // Language
    $helper->default_form_language = $default_lang;
    $helper->allow_employee_form_lang = $default_lang;
     
    // Title and toolbar
    $helper->title = $this->displayName;
    $helper->show_toolbar = true;        // false -> remove toolbar
    $helper->toolbar_scroll = true;      // yes - > Toolbar is always visible on the top of the screen.
    $helper->submit_action = 'submitCmsReadMore';
    $helper->toolbar_btn = array(
        'save' =>
        array(
            'desc' => $this->l('Save'),
            'href' => AdminController::$currentIndex.'&configure='.$this->name.'&save'.$this->name.
            '&token='.Tools::getAdminTokenLite('AdminModules'),
        ),
        'back' => array(
            'href' => AdminController::$currentIndex.'&token='.Tools::getAdminTokenLite('AdminModules'),
            'desc' => $this->l('Back to list')
        )
    );
     
    // Load current value
    $helper->fields_value['MOD_CMS_READ_MORE_ID_CMS'] = Configuration::get('MOD_CMS_READ_MORE_ID_CMS');
    $helper->fields_value['MOD_CMS_READ_MORE_NB_CHARS'] = Configuration::get('MOD_CMS_READ_MORE_NB_CHARS');
    
     
    return $helper->generateForm($fields_form);
}

post-371727-0-27775900-1391437194_thumb.png

Edited by tarek.fellah (see edit history)
Link to comment
Share on other sites

I Solved the problem i changed

$helper->fields_value['MOD_CMS_READ_MORE_ID_CMS'] = Configuration::get('MOD_CMS_READ_MORE_ID_CMS');
$helper->fields_value['MOD_CMS_READ_MORE_NB_CHARS'] = Configuration::get('MOD_CMS_READ_MORE_NB_CHARS');

to

$helper->fields_value['nb_chars'] =Configuration::get('MOD_CMS_READ_MORE_NB_CHARS');
$helper->fields_value['id_cms'] =  Configuration::get('MOD_CMS_READ_MORE_ID_CMS');

Thanks!

Edited by tarek.fellah (see edit history)
Link to comment
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
×
×
  • Create New...