Jump to content

insertion article + ses déclinaisons avec bouton enregistrer


Recommended Posts

bonjour a tous
j'aimerais bien faire le truc suivant:
j'ai 3 déclinaisons pour tous mes articles,lorsque je clique sur enregistrer pour ajouter un nouveau article, et sans passer par l'onglet "Déclinaisons" en BO, le produit sera créer avec ses trois déclinaisons avec prix 0 et quantité 1 pour la 2ème déclinaison seulement.
Après qqe recherches danc les fichier php de prestashop j'ai trouvé le fichier admin/tabs/AdminProducts.php et parsuite le bout de code suivant

/* Add a new product */
       if (Tools::isSubmit('submitAddproduct') OR Tools::isSubmit('submitAddproductAndStay'))
       {
           if ($this->tabAccess['add'] === '1')
               $this->submitAddproduct($token);
           elseif (Tools::getValue('id_product') AND $this->tabAccess['edit'] === '1')
               $this->submitAddproduct($token);
           else
               $this->_errors[] = Tools::displayError('You do not have permission to add anything here.');
       }


et aussi le code d'ajout de déclinaisons

/* Product attributes management */
       elseif (Tools::isSubmit('submitProductAttribute'))
       {
           if (Validate::isLoadedObject($product = new Product(intval(Tools::getValue('id_product')))))
           {
               if (!isset($_POST['attribute_quantity']) OR $_POST['attribute_quantity'] == NULL)
                   $this->_errors[] = Tools::displayError('attribute quantity is required');
               if (!isset($_POST['attribute_price']) OR $_POST['attribute_price'] == NULL)
                   $this->_errors[] = Tools::displayError('attribute price is required');
               if (!isset($_POST['attribute_combinaison_list']) OR !sizeof($_POST['attribute_combinaison_list']))
                   $this->_errors[] = Tools::displayError('you must add at least one attribute');

               if (!sizeof($this->_errors))
               {
                   if (!isset($_POST['attribute_wholesale_price'])) $_POST['attribute_wholesale_price'] = 0;
                   if (!isset($_POST['attribute_price_impact'])) $_POST['attribute_price_impact'] = 0;
                   if (!isset($_POST['attribute_weight_impact'])) $_POST['attribute_weight_impact'] = 0;
                   if (!isset($_POST['attribute_ecotax'])) $_POST['attribute_ecotax'] = 0;
                   if (Tools::getValue('attribute_default'))
                       $product->deleteDefaultAttributes();
                   // Change existing one
                   if ($id_product_attribute = intval(Tools::getValue('id_product_attribute')))
                   {
                       if ($this->tabAccess['edit'] === '1')
                       {
                           if ($product->productAttributeExists($_POST['attribute_combinaison_list'], $id_product_attribute))
                               $this->_errors[] = Tools::displayError('This attribute already exists.');
                           else
                               $product->updateProductAttribute($id_product_attribute,

                               Tools::getValue('attribute_location'));
                       }
                       else
                           $this->_errors[] = Tools::displayError('You do not have permission to add anything here.');
                   }
                   // Add new
                   else
                   {
                       if ($this->tabAccess['add'] === '1')
                       {
                           if ($product->productAttributeExists($_POST['attribute_combinaison_list']))
                               $this->_errors[] = Tools::displayError('This combination already exists.');
                           else
                               $id_product_attribute = $product->addCombinationEntity(Tools::getValue('attribute_wholesale_price'), Tools::getValue('attribute_price') * Tools::getValue('attribute_price_impact'),
                               Tools::getValue('attribute_weight') * Tools::getValue('attribute_weight_impact'), Tools::getValue('attribute_ecotax'), 
                               Tools::getValue('attribute_quantity'),    Tools::getValue('id_image_attr'), Tools::getValue('attribute_reference'), 
                               Tools::getValue('attribute_supplier_reference'), Tools::getValue('attribute_ean13'), Tools::getValue('attribute_default'), Tools::getValue('attribute_location'));
                       }
                       else
                           $this->_errors[] = Tools::displayError('You do not have permission to').''.Tools::displayError('edit something here.');
                   }
                   if (!sizeof($this->_errors))
                   {
                       $product->addAttributeCombinaison($id_product_attribute, Tools::getValue('attribute_combinaison_list'));
                       $product->checkDefaultAttributes();
                   }
                   if (!sizeof($this->_errors))
                       Tools::redirectAdmin($currentIndex.'&id;_product='.$product->id.'&id;_category='.intval(Tools::getValue('id_category')).'&add;'.$this->table.'&tabs=2&token;='.($token ? $token : $this->

Link to comment
Share on other sites

  • 1 month later...

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