Jump to content

Undefined index (input text name) in Back office customization


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.



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(
  '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.
    				'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',
    $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' =>
            'desc' => $this->l('Save'),
            'href' => AdminController::$currentIndex.'&configure='.$this->name.'&save'.$this->name.
        '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);


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');


$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');


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...