Search the Community
Showing results for tags 'processupdate'.
-
Bonjour je crée actuellement un module perso administrable en back. j'ai créé le controller étendu de ModuleAdminController. j'utilise la méthode renderForm() pour gérer le formulaire d'ajout/modification des éléments : public function renderForm(){ $this->fields_form = array( 'legend' => array( 'title' => $this->l('Element') ), 'submit' => array( 'title' => $this->l('Save'), 'class' => 'button' ), 'input' => array( array( 'type' => 'text', 'label' => $this->l('Nom'), 'name' => 'name', 'size' => 33, 'required' => true, 'desc' => $this->l("Nom de l'élément") ), array( 'type' => 'radio', 'label' => $this->l('Type'), 'name' => 'type', 'size' => 33, 'class' => 't', 'required' => true, 'desc' => $this->l('Choix de la vente'), 'values' => array( array('id'=>'elt_amount','label'=>$this->l('Quantité'),'value'=>'amount'), array('id'=>'elt_weight','label'=>$this->l('Poids'),'value'=>'weight') ) ), array( 'type' => 'text', 'label' => $this->l('ID Produit'), 'name' => 'ocp_id_product', 'required' => true, 'desc' => $this->l('Begin typing the first letters of the product name, then select the product from the drop-down list'), ), array( 'type' => 'select', 'label' => $this->l('ID Catégorie Elt'), 'name' => 'id_element_categ', 'options'=> array( 'query'=>CategoryCustomProduct::getCategoriesOCP(), 'id'=>'id_onet_customproduct_categorie', 'name'=>'name' ) ), array( 'type' => 'radio', 'label' => $this->l('Actif?'), 'name' => 'active', 'required' => false, 'class' => 't', 'is_bool' => true, 'values' => array( array( 'id' => 'active_on', 'value' => 1, 'label' => $this->l('Enabled') ), array( 'id' => 'active_off', 'value' => 0, 'label' => $this->l('Disabled') ) ), 'desc' => $this->l('Enable Element in the Front Office') ), ) ); return parent::renderForm(); } je liste donc ci-dessus les champs présents dans ma table; le champ "ocp_id_product" est utilisé pour afficher via un Jquery autocomplete la liste des produits du catalogue. j'ai ajouté dans le script ci-dessous un champs caché pour récupérer l'ID du produit pour le renvoyer dans ma table ensuite. $(window).load(function () { /* function autocomplete */ $('#ocp_id_product').autocomplete('ajax_products_list.php', { minChars: 1, autoFill: true, max:20, matchContains: true, mustMatch:true, scroll:false }).result(function(event,data,formated){ $("#ocp_id_product_result").remove(); $("#ocp_id_product").after('<div id="ocp_id_product_result"><input type="hidden" id="ocp_id_product_val" name="ocp_id_product_val" value="'+data[1]+'" /><strong>'+data[0]+'</strong><span class="delOcpIdProduct" name="'+data[1]+'" style="cursor: pointer;"><img src="../img/admin/delete.gif"></span></div>'); }); }); Et c'est là ou cela se complique ! j'ai essayé d'overrider la méthode beforeAdd pour intervertir les valeurs ocp_id_product_val => ocp_id_product, mais sans sans succès... et si je passe par la méthode processUpdate, le copyFromPost ne prends pas en compte mon champs caché supplémentaire... Si quelqu'un a une idée comment faire ?
-
- adminController
- module
- (and 5 more)