jp77 Posted October 27, 2011 Share Posted October 27, 2011 bonjour a tous Dans le fichier Adminproduct.php j'ai bien trouvé la ligne 1709 pour delete specific price et pour afficher modifier le prix j'ai ajouter en 1710 : <th class="cell border" style="width: 2%;">'.$this->l('Modified').'</th> en ligne 1744 j'ai trouver la fonction qui supprimer le prix specifique, j'ai donc ajouter en 1745 cette ligne afin de rendre le prix modifiable : <td class="cell border"><a href="'.$currentIndex.(Tools::getValue('id_category') ? '&id_category='.Tools::getValue('id_category') : '').'&id_product='.(int)(Tools::getValue('id_product')).'&updateproduct&editSpecificPrice&id_specific_price='.(int)($specificPrice['id_specific_price']).'&token='.Tools::getValue('token').'"><img src="../img/admin/edit.gif" alt="'.$this->l('Edit').'" /></a></td> Malheureusement cela me renvoi a la fiche produit sans edition du prix spécifique, j'ai du oublier quelque chose ou complètement planté. Merci de votre aide Link to comment Share on other sites More sharing options...
Sbizz Posted October 27, 2011 Share Posted October 27, 2011 Bonjour. Je n'ai rien compris à votre message. Je vous conseil donc d’éditer ou de poster un nouveau message clair, définissant : - votre objectif, - vos modifications (en mettant le code original) - les références au code que vous affichez - votre problème Et pensez à vous relire car j'ai vraiment rien compris... Link to comment Share on other sites More sharing options...
jp77 Posted October 27, 2011 Author Share Posted October 27, 2011 bonsoir dans la version de prestashop 1.4.5.1 comme dans la 1.3 si l'on fait la création d'un prix specifique, on ne peut modifier celui-ci, obligation de le detruire et dans refaire un autre. Mon objectif est de rendre modifiable ce prix au lieu de le supprimer et dans créer un autre. En espérant etre plus clair merci d'avance Link to comment Share on other sites More sharing options...
Sbizz Posted October 27, 2011 Share Posted October 27, 2011 D'accord, je vois de quoi vous parlez. Je vais bientôt partir du taff, je ne pourrais donc vous aider ce soir. Néanmoins, il me semble que du JavaScript + AJAX vous aiderait peut être, et d'une façon beaucoup plus simple.. Un bouton "Modifier" ou une îcone, as you want, avec l'id du prix specifique dans l'attribut "id" du bouton ou de l'îcone, un appel AJAX envoyant cet ID et une modification en retour. Je dis ça à froid, je n'ai pas analyser plus en détail le problème. Il y a peut être une meilleur solution. Je verrais ça en détail demain matin, à moins qu'on vous aide entre-temps. Link to comment Share on other sites More sharing options...
jp77 Posted October 28, 2011 Author Share Posted October 28, 2011 bonjour mes excuses je n'ais pas été prévenu de votre réponse merci d'avance Link to comment Share on other sites More sharing options...
Sbizz Posted October 28, 2011 Share Posted October 28, 2011 Bon, je viens de regarder le code en détail. Premièrement, vous n'avez pas besoin de votre nouvelle colonne "Modifier". C'est mon avis personnel, mais la colonne "Action" parle d'elle-même. Pour rajouter votre "edit.gif", il vous suffit de remplacer ça : Ligne 1743 de mon AdminProducts.php <td class="cell border"><a href="'.$currentIndex.(Tools::getValue('id_category') ? '&id_category='.Tools::getValue('id_category') : '').'&id_product='.(int)(Tools::getValue('id_product')).'&updateproduct&deleteSpecificPrice&id_specific_price='.(int)($specificPrice['id_specific_price']).'&token='.Tools::getValue('token').'"><img src="../img/admin/delete.gif" alt="'.$this->l('Delete').'" /></a></td> par quelque chose comme ça : <td class="cell border"> <a href="'.$currentIndex.(Tools::getValue('id_category') ? '&id_category='.Tools::getValue('id_category') : '').'&id_product='.(int)(Tools::getValue('id_product')).'&updateproduct&deleteSpecificPrice&id_specific_price='.(int)($specificPrice['id_specific_price']).'&token='.Tools::getValue('token').'"><img src="../img/admin/delete.gif" alt="'.$this->l('Delete').'" /></a> <a href="'.$currentIndex.(Tools::getValue('id_category') ? '&id_category='.Tools::getValue('id_category') : '').'&id_product='.(int)(Tools::getValue('id_product')).'&updateproduct&editSpecificPrice&id_specific_price='.(int)($specificPrice['id_specific_price']).'&token='.Tools::getValue('token').'"><img src="../img/admin/edit.gif" alt="'.$this->l('Edit').'" /></a> </td> Vous étiez bien parti, mais la variable editSpecificPrice n'existe pas pour Prestashop, il faut donc la vérifier et, si elle existe, faire une action ! Avec un petit CTRL + F, j'ai trouvé ou se faisait l'action de suppression : Ligne 749 de mon AdminProducts.php elseif (Tools::isSubmit('deleteSpecificPrice')) Il vous suffit simplement de mettre un autre elseif en verifiant si editSpecificPrice existe et d'effectuer une requête SQL. Vous aurez toutes les informations nécessaires pour faire une requête. Je vous laisse le soin de chercher un peu. PS: d'après ce que j'ai vu, il est simple de surcharger la fonction postProcess() (celle qui s'occupe de tout ça). Mais si vous n'avez pas les connaissances nécessaires, alors modifier le code mais au moins je vous aurais averti O: Link to comment Share on other sites More sharing options...
jp77 Posted October 28, 2011 Author Share Posted October 28, 2011 bonjour Merci, en effet pas de besoin de faire une autre colonne. J'ai trouvé une partie mais même en mettant une nouvelle ligne elseif cela ne fonctionne pas de plus aucune commande edit ou autre pour specificprice je pense que cette modification est possible mais a condition de faire enormement de changement et sans sécurité complète de la bonne prise en charge pa la suite de ces prix. merci quand meme Link to comment Share on other sites More sharing options...
Ckapone Posted October 19, 2012 Share Posted October 19, 2012 (edited) Bonjour,Je cherche aussi une solution à ce problème et je pense que l'on peut utiliser une autre solution.En regardant les déclinaisons il y a une option qui permet de les modifier.J'ai donc le lien qui appel un petit bout de js : [url=""] [img=../img/admin/edit.gif][/url] Ensuite le js : function fillSpecificprice(sp_id_specific_price,sp_id_product,sp_id_shop,sp_id_currency,sp_id_country,sp_id_group,sp_price,sp_from_quantity,sp_reduction,sp_reduction_type,sp_from,sp_to){init_elemspec();getE('sp_id_specific_price').value = sp_id_specific_price;getE('sp_id_product').value = sp_id_product;getE('sp_id_shop').value = sp_id_shop;getE('sp_id_currency').value = sp_id_currency;getE('sp_id_country').value = sp_id_country;getE('sp_id_group').value = sp_id_group;getE('sp_price').value = sp_price;getE('sp_from_quantity').value = sp_from_quantity;getE('sp_reduction').value = sp_reduction;getE('sp_reduction_type').value = sp_reduction_type;getE('sp_from').value = sp_from;getE('sp_to').value = sp_to; if (sp_id_currency == 0) { getE('sp_id_currency').options[getE('sp_id_currency').selectedIndex].value = 0; getE('sp_id_currency').selectedIndex = 0; } else if (sp_id_currency == 1) { getE('sp_id_currency').options[getE('sp_id_currency').selectedIndex].value = 1; getE('sp_id_currency').selectedIndex = 1; } else if (sp_id_currency == 2) { getE('sp_id_currency').options[getE('sp_id_currency').selectedIndex].value = 2; getE('sp_id_currency').selectedIndex = 2; } else if (sp_id_currency == 3) { getE('sp_id_currency').options[getE('sp_id_currency').selectedIndex].value = 3; getE('sp_id_currency').selectedIndex = 3; } if (sp_id_country == 0) { getE('sp_id_country').options[getE('sp_id_country').selectedIndex].value = 0; getE('sp_id_country').selectedIndex = 0; } if (sp_id_group == 0) { getE('sp_id_group').options[getE('sp_id_group').selectedIndex].value = 0; getE('sp_id_group').selectedIndex = 0; [spam-filter]function init_elemspec(){if (elem.length) for (i = elem.length - 1; i >= 0; i--) if (elem[i]) elem.remove(i);getE('sp_id_currency').selectedIndex = 0;getE('sp_id_country').selectedIndex = 0;getE('sp_id_group').selectedIndex = 0;} Et je supprime le display:none sur display:none sur <div id="add_specific_price" style="display: none;"> Mais comme je n'ai pas une grande connaissance en js je cherche ce qui ne va pas. Ckarone Edited October 19, 2012 by ckarone (see edit history) 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