Jump to content

HelperForm et select ... sous quel format le "option"=> ... ?


Recommended Posts

Bonjour à tous,

 

je découvre depuis quelques semaines Prestashop 1.5 et depuis peu j'essaye de faire mon module.

 

Là j'en suis à la création du formulaire de configuration avec l'aide du Helperform.

 

J'arrive à faire fonctionner tout ça avec un champs texte mais j'ai pas la même réussite avec un select :( je cherche sur le web mais je ne trouve pas de solution à mon souci.

 

En fait je ne sais pas trop quoi renseigner dans le tableau 'options' => ...

 

$this->fields_form[0]['form'] = array(
   'legend' => array(
    'title' => $this->l('Settings'),
 ),
 'input' => array(
	    array(
			  'type' => 'select',
			  'label' => $this->l("Mode d'expiration des cookies"),
			  'name' => 'modepopin',
			  'options' => array(
				  'query'=>array('a','b'),
				  'id' => 'id'),
			   'required' => true
		    )
   ),
   'submit' => array(
   	   'title' => $this->l('Save'),
		  'class' => 'button'
    ));

 

Avec ça j'ai toujours une erreur Notice : Undefined index : name .... je sais plus quoi faire, j'ai essayé sous toutes les formes.

 

Pour infos mes choix sont statiques et ne proviennent pas d'une requête en base :)

 

merci d'avance de votre aide !

Edited by JB-ride (see edit history)
Link to comment
Share on other sites

Bonsoir,

 

Voici un exemple de "query":

 

 $query = array();
 $query[0] = array('name' => $this->l('No repeat'), 'id_option' => 'no');
 $query[1] = array('name' => $this->l('All Repeat'), 'id_option' => 'all');
 $query[2] = array('name' => $this->l('Horizontal'), 'id_option' => 'x');
 $query[3] = array('name' => $this->l('Vertical'), 'id_option' => 'y');

 

J'ai donc mis 'query' => $query, ;-)

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Bonjour,

 

Je me permets de revenir à la charge sur ce point.

Personnellement je galère sur la gestion des listes dans les HelperOptions.

Voici ce que j'ai mis dans mon fieldset:

$name . '_SYSOS' => array(
				    'title' => $this->l('Operating System : '),
				    'desc' => $this->l('Used for special characters'),
				    'identifier' => $name . '_SYSOS',
				    'type' => 'select',
				    'list' => array(
					    array(
						    'name' => 'Linux',
						    'value' => 'Linux',
						    'identifier' => $name . '_SYSOS',
					    )
				    )
			    ),

 

Je reste scotché avec le message suivant :

Undefined index: MYMODULE_SYSOS in /.../cache/smarty/compile.../.file.options.tpl.php</b> on line 165

 

J'ai gratté dans ce fichier compilé et voici ce que j'ai trouvé :

   value="<?php echo $_smarty_tpl->tpl_vars['option']->value[$_smarty_tpl->tpl_vars['field']->value['identifier']];?>"
<?php if ($_smarty_tpl->tpl_vars['field']->value['value']
	 ==$_smarty_tpl->tpl_vars['option']->value[$_smarty_tpl->tpl_vars['field']->value['identifier']]){?>
selected="selected"<?php }?>><?php echo $_smarty_tpl->tpl_vars['option']->value['name'];?>

 

Je ne vois pas comment formaté les listes pour les Helper Options. La doc est encore moins performante que le HelperForm, pour vous dire ;-)

 

Merci d'avance de votre retour d'expérience.

Link to comment
Share on other sites

J'ai trouvé,

 

Voci la syntaxe :

$name . '_SYSOS' => array(
									    'title' => $this->l('Operating System : '),
									    'desc' => $this->l('Used for special characters'),
									    'identifier' =>'value',
									    'type' => 'select',
									    'list' => array(
											    array(
													    'name' => 'Linux',
													    'value' => 'Linux',
											    )
									    )
							    ),

  • Like 1
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...