Myst26 Posted June 14, 2013 Share Posted June 14, 2013 Bonjour, Je suis en train de dévélopper un module sous prestashop 1.5.x. Je me pose cependant une question quant à l'utilisation de fields_form. Très pratique, il permet de généré dynamiquement son formulaire mais j'aimerais pouvoir sortir de ces sentiers battus et ...concaténé / fusionner un champ personnalisé. exemple tiré de l'exellent tuto de prestarocket : $this->fields_form = array( 'legend' => array( 'title' => $this->l('Settings'), ), 'input' => array( array( 'type' => 'select', 'label' => $this->l('Customer'), 'name' => 'id_customer', 'required' => true, 'options' => array( 'query' => Customer::getCustomers(), 'id' => 'id_customer', 'name'=>'lastname' ) ), array( 'type' => 'select', 'label' => $this->l('Opinion'), 'name' => 'opinion', 'required' => true, 'options' => array( 'query' => array( array( 'id' => 'Average', 'name' => $this->l('Average') ), array( 'id' => 'Good', 'name' => $this->l('Good') ), array( 'id' => 'Very Good', 'name' => $this->l('Very Good') ), ), 'id' => 'id', 'name' => 'name' ) ), array( 'type' => 'radio', 'label' => $this->l('Active'), 'name' => 'active', 'required' => true, 'class' => 't', 'br' => true, 'values' => array( array( 'id' => '0', 'value' => 0, 'label' => $this->l('No') ), array( 'id' => '1', 'value' => 1, 'label' => $this->l('Yes') ) ) ) ), 'submit' => array( 'title' => $this->l('Save'), 'class' => 'button' ) ); [..] return parent::renderForm() Je souhaite pour ma part rajouter un champ de type 'text' qui fait appel à une requete ajax pour lister les produits selon les caractères que tapent l'utilisateur. j'ai donc créer une fonction qui me génère ce champ input : renderProductInput(). Elle crée simplement de l'html avec un champ input et une div html où iront se placer les produits sélectionnés j'ai pensé concaténer parent::renderForm() avec ma fonction comme suit : return parent::renderForm().$this->renderProductInput(); L'affichage est correct.. mais le champ input est en dehors de labalise <form> générer par renderForm.. logique en soit. Et les informations ne sont donc pas remonté pour leur traitement. Ma question est donc : comment faire pour créer un champ input "particulier" à l'intérieur de fields_form? si il en existe un mise à part passer par un override complet. Merci de votre aide ! Link to comment Share on other sites More sharing options...
Prestaspirit Posted June 14, 2013 Share Posted June 14, 2013 Bonjour, Dans le fields_list ont peut ajouter un callback il faut essayer de voir si ça marche avec fields_form <?php $this->fields_form = array( 'legend' => array( 'title' => $this->l('Settings'), ), 'input' => array( array( 'type' => 'select', 'label' => $this->l('Customer'), 'name' => 'id_customer', 'required' => true, 'options' => array( 'query' => Customer::getCustomers(), 'id' => 'id_customer', 'name'=>'lastname', 'callback' => 'renderProductInput' ) ........ Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now