Jump to content
Sign in to follow this  
jolvil

V1.1 fixes de bugs

Recommended Posts

Voici quelques fixes de bugs trouvés sur le forum ou sur le bug tracker. si il y a des erreurs ou autres fixes de bugs n'hesitez pas à me contacter pour correction ou à completer ce fil.

This post in english HERE


--------------------------------------------------------

truncate du panier: VOIR ICI

dans /modules/blockcart/blockcart.tpl ligne: 44
chercher:

{$product.name|escape:htmlall:'UTF-8'|truncate:20} 


remplacer par:

{$product.name|escape:htmlall:'UTF-8'|truncate:16}



dans /modules/blockcart/blockcart-json.tpl ligne: 77
chercher:

'{$error|addslashes}' 


remplacer par:

'{$error|addslashes|html_entity_decode:2:'UTF-8'}'



--------------------------------------------------------

Problème de Stat VOIR ICI

dans /admin/tabs/AdminStatsTab.php ligne: 36
chercher

if ($month = Tools::getValue('dateInputMonth', -1) AND Validate::isUnsignedInt($month))


remplacer par

if (($month = Tools::getValue('dateInputMonth', -1)) != -1 AND Validate::isInt($month))



--------------------------------------------------------
Module chèque VOIR ICI

dans /modules/cheque/cheque.php ligne: 33

chercher:

if (!isset($this->address) OR !isset($this->address))


remplacer par:

if (!isset($this->chequeName) OR !isset($this->address))



--------------------------------------------------------

Probleme avec la configuration d'un produit customisé en BO VOIR ICI

dans /admin/tabs/AdminProduct.php ligne: 422

chercher:

$product->customizable = (intval($_POST['uploadable_files']) > 0 OR intval($_POST['text_fields']) > 0) ? true : false;


remplacer par:

$product->customizable = (intval($_POST['uploadable_files']) > 0 OR intval($_POST['text_fields']) > 0) ? 1 : 0;



--------------------------------------------------------

Bug de pagination dans new-products.php VOIR ICI et VOIR AUSSI ICI

Details:
Sur la page nouveaux produits. Le bloc Pagination n'affiche pas le nombre correct de pages.
pour corriger ce bug: ( ATTENTION! Le 1er correctif ne marchait pas, voici un autre correctif!)

Ne pas modifier le code dans new-product.php ligne 8 comme precedement suggéré
code original non modifié:

$nbProducts = intval(Product::getNewProducts(intval($cookie->id_lang), NULL,NULL, true));



code a modifier

dans classes/product.php ligne 903

chercher

        if ($count)
       {
           $result = Db::getInstance()->getRow('
           SELECT COUNT(`id_product`) AS nb
           FROM `'._DB_PREFIX_.'product`
           WHERE `active` = 1');
           return intval($result['nb']);
       }



remplacer par:

        if ($count)
       {
           $result = Db::getInstance()->getRow('
           SELECT COUNT(`id_product`) AS nb
           FROM `'._DB_PREFIX_.'product`
           WHERE `active` = 1
           AND DATEDIFF(`date_add`, DATE_SUB(NOW(), INTERVAL '.(Validate::isUnsignedInt(Configuration::get('PS_NB_DAYS_NEW_PRODUCT')) ? Configuration::get('PS_NB_DAYS_NEW_PRODUCT') : 20).' DAY)) > 0');
           return intval($result['nb']);
       }



Le code original compte le nombre de produits au lieu du nombre de produits nouveaux

Modif pour que les nouveaux produits soient classés par date d'ajout indépendament du classement de la boutique: VOIR ICI


----------------------------------------------------------

Bug accessoire de produit non effacable VOIR ICI

dans le fichier js/admin.js mettre en commentaire

/*console.log('---');
console.log(input);
console.log('___');
 console.log(name);*/



Pour les accessoires, c’est un bug navigateur, les console.log laissés par les devs font bugger certains navigateurs, pas FF2 en tout cas mais FF3 oui. Il faut retirer du code, tous les console.log des javascripts.


------------------------------------------------------------
Affichage correct de la boite de recherche dans le header VOIR ICI

ligne 798 du themes/Prestashop/global.css

width: 330px;


remplacer par

width: 336px;



---------------------------------------------------------------

Module Liste de cadeau (Wishlist)

correction des bugs du module: ICI


----------------------------------------------------------------
Numéro de suivi dans l'email

Lorsqu'on fait passer une commande en statut "envoyé", un email est envoyé au client mais il ne comporte pas le lien de suivi parce que le champ de remplissage du numéro de suivi n'est pas affiché avant cet etat.

Correction pour avoir le champ de remplissage affiché est le lien de suivi dans l'email:

Dans le fichier admin/tabs/AdminOrders.php à la ligne 408, mettez la ligne en commentaire.

remplacer

if ($carrier->url AND $currentState->id == _PS_OS_SHIPPING_)



par

//if ($carrier->url AND $currentState->id == _PS_OS_SHIPPING_)

Share this post


Link to post
Share on other sites

Correctif pour le problème des miniatures produits qui ne se mettent pas à jour:
Merci à Pshopexpert VOIR ICI

EDITER /admin/tabs/AdminProducts.php

TROUVER ligne 176

if (isset($_GET['deleteImage']))
               {
                   $image->delete();
                   deleteImage($image->id_product, $image->id);
                   if (!Image::getCover($image->id_product))
                   {
                       $first_img = Db::getInstance()->getRow('
                       SELECT `id_image` FROM `'._DB_PREFIX_.'image`
                       WHERE `id_product` = '.intval($image->id_product));
                       Db::getInstance()->Execute('
                       UPDATE `'._DB_PREFIX_.'image`
                       SET `cover` = 1
                       WHERE `id_image` = '.intval($first_img['id_image']));



RAJOUTER APRES

@unlink(dirname(__FILE__).'/../../img/tmp/product_'.$image->id_product.'.jpg');
@unlink(dirname(__FILE__).'/../../img/tmp/product_mini_'.$image->id_product.'.jpg');



TROUVER ligne 209

elseif (isset($_GET['coverImage']))
               {
                   Image::deleteCover($image->id_product);
                   $image->cover = 1;
                   $image->update();



RAJOUTER APRES

@unlink(dirname(__FILE__).'/../../img/tmp/product_'.$image->id_product.'.jpg');
@unlink(dirname(__FILE__).'/../../img/tmp/product_mini_'.$image->id_product.'.jpg');



TROUVER ligne 509

public function addProductImage($product, $method = 'auto')



SUPPRIMER LES APPELS DE UNLINK ligne 529

@unlink(dirname(__FILE__).'/../../img/tmp/product_'.$product->id.'.jpg');
@unlink(dirname(__FILE__).'/../../img/tmp/product_mini_'.$product->id.'.jpg');



REMPLACER PAR

if (sizeof($this->_errors))
           return false;
       @unlink(dirname(__FILE__).'/../../img/tmp/product_'.$product->id.'.jpg');
       @unlink(dirname(__FILE__).'/../../img/tmp/product_mini_'.$product->id.'.jpg');
       return ((isset($id_image) AND is_int($id_image) AND $id_image) ? $id_image : true);

Share this post


Link to post
Share on other sites

Bonsoir @ tous

Il y a un bug avec les points de fidélité.
Lors de l'ajout dans le panier depuis le catalogue les points sont calculés en fonction de la quantité mise en place au lieu du montant total

Par exemple 1€ = 1point :
Soit pour 100 x 1,79€ = 100points au lieu de 179 points
Par contre lors de la modification depuis le panier, les points sont OK

Share this post


Link to post
Share on other sites

Solution que j'ai donné ici pour les problèmes de lien dans le block Déjà vus.

Dans le module blockviewed (qui correspond aux produits déjà vu)

A la ligne 8 et à la ligne 9 du fichier blockviewed.tpl , ajouter deux points.

A la ligne 8 href="..{$link->getProductLink et à la ligne 9 href="..{$link->getProductLink


Cette solution est valable pour les modules ayant les même symptômes.

++

DAV

Share this post


Link to post
Share on other sites

dans new-product.php chercher ligne 8:

$nbProducts = intval(Product::getNewProducts(intval($cookie->id_lang), NULL,NULL, true));


remplacer par:

$nbProducts = intval(Product::getNewProducts(intval($cookie->id_lang), intval($p) - 1, intval($n), false));



Cela ne fonctionne pas, avec cette solutions il y a seulement und page de nouveautés!

Share this post


Link to post
Share on other sites

Une petite solution ajoutée pour le bug des accessoires qui ne s'effacent pas (voir premier post)

Share this post


Link to post
Share on other sites

Je constate une erreur dans le bloc stats:

j ai réglé le taux de tva à 0 et dans les stats il m'affiche un montant ht plus important que le ttc alors que les deux montants devraient être identiques.

4217_NZx45ztl2rpaQwXW0hdq_t

Share this post


Link to post
Share on other sites

Merci de ne pas poster de bugs dans ce post qui est reservé aux solutions trouvées plutot qu'aux problemes.

De plus ce probleme a déja été signalé dans le bug tracker:
http://www.prestashop.com/bug_tracker/view/1175/

tu peux appuyer ce post dans le bug tracker car il n'a pas été encore traité par l'equipe.

Share this post


Link to post
Share on other sites

Apres avoir installé, PrestaShop 1.1 et ajouté 2 produits pour tester, j'ai rencontré un probleme lors de l'ajout d'accessoires. C'est un probleme que je n'avait pas sur la 1.0 .
N'ayant pas trouvé de problemes similaire sur le forum (les boutiques avec seulement deux articles ne devant etre tres nombreuses) j'ai un peu galéré mais j'ai trouvé une solution :

admin\tabs\AdminProducts.php

for (i = 1, j = 1; i < accessories.length; i++)



for (i = 0, j = 1; i < accessories.length; i++)



Par contre je n'ai pas testé avec plus d'articles (logiquement ca ne devrait pas posser de problemes)

Share this post


Link to post
Share on other sites
Solution que j'ai donné ici pour les problèmes de lien dans le block Déjà vus.

Dans le module blockviewed (qui correspond aux produits déjà vu)

A la ligne 8 et à la ligne 9 du fichier blockviewed.tpl , ajouter deux points.

A la ligne 8 href="..{$link->getProductLink et à la ligne 9 href="..{$link->getProductLink


Cette solution est valable pour les modules ayant les même symptômes.

++

DAV


en complément de ce correctif, j'ai trouvé également ce petit "correctif" dans le bug tracker qui supprime les // dans le module blockviewed (lien du produit = ...//produit.html).

ref : http://www.prestashop.com/bug_tracker/view/1333/

Dans .../classes éditer Link.php.
chercher
...$id_product->category.'/'...

et remplacer par
...($id_product->category ? $id_product->category.'/' : '')...

Share this post


Link to post
Share on other sites

le correctif sur link.php m'a bloqué mon site (erreur 500)

Share this post


Link to post
Share on other sites

j'ai supprimé le module et je n'ai plus de problème

je supprime d'ailleurs les modules qui sont accessoires et sur lesquels il y a des bugs

je verrai plus tard après avoir paramétrer la boutique

autre chose : je vois que des corrections de bugs ne disent ce que cela corrige (sur la tête de post UP)

Share this post


Link to post
Share on other sites

Je peux éditer le premier post qui est mis à jour mais pas les posts suivants, normalement ces correctifs fonctionnent mais la correction n'est pas guarantie à 100 % et comme l'equipe Prestashop ne publie aucuns fixes, à nous de nous debrouiller comme on peut avec les risques eventuels......

Share this post


Link to post
Share on other sites

donc la seule garantie c'est d'attendre les nouvelles versions ?

Share this post


Link to post
Share on other sites

En tout cas merci jolvil.
Les bug des produits personnalisables me soualait un peu ... ;)
Récapitulatif très utile !

Share this post


Link to post
Share on other sites

Voici un correctif pour le problème des miniatures produits qui ne se mettent pas à jour mais ATTENTION cette modification s'applique sur les fichiers principaux de PrestaShop, si vous n'êtes pas sûr de vous, je peux l'installer sur votre serveur ( http://www.pshopexpert.com/8-modification-de-la-liste-des-produits-dans-le-catalogue.html ).

EDITER /admin/tabs/AdminProducts.php

TROUVER

               if (isset($_GET['deleteImage']))
               {
                   $image->delete();
                   deleteImage($image->id_product, $image->id);
                   if (!Image::getCover($image->id_product))
                   {
                       $first_img = Db::getInstance()->getRow('
                       SELECT `id_image` FROM `'._DB_PREFIX_.'image`
                       WHERE `id_product` = '.intval($image->id_product));
                       Db::getInstance()->Execute('
                       UPDATE `'._DB_PREFIX_.'image`
                       SET `cover` = 1
                       WHERE `id_image` = '.intval($first_img['id_image']));



RAJOUTER APRES

                       @unlink(dirname(__FILE__).'/../../img/tmp/product_'.$image->id_product.'.jpg');
                       @unlink(dirname(__FILE__).'/../../img/tmp/product_mini_'.$image->id_product.'.jpg');



TROUVER

                elseif (isset($_GET['coverImage']))
               {
                   Image::deleteCover($image->id_product);
                   $image->cover = 1;
                   $image->update();



RAJOUTER APRES

                   @unlink(dirname(__FILE__).'/../../img/tmp/product_'.$image->id_product.'.jpg');
                   @unlink(dirname(__FILE__).'/../../img/tmp/product_mini_'.$image->id_product.'.jpg');



TROUVER

public function addProductImage($product, $method = 'auto')



SUPPRIMER LES APPELS DE UNLINK

REMPLACER LA FIN PAR

       if (sizeof($this->_errors))
           return false;
       @unlink(dirname(__FILE__).'/../../img/tmp/product_'.$product->id.'.jpg');
       @unlink(dirname(__FILE__).'/../../img/tmp/product_mini_'.$product->id.'.jpg');
       return ((isset($id_image) AND is_int($id_image) AND $id_image) ? $id_image : true);

Share this post


Link to post
Share on other sites

Bonjour à tous !

J'ai voulu corriger le bug du truncate du panier comme indiquer ici mais ça ne corrige toujours pas le problème...

Voila ce que ça donne : http://screencast.com/t/H1I1m4F7oKY

En fait ça bug seulement avec une longueur de description trop longue !

Quelqu'un aurait une idée ?

Merci...

Ludo.

[EDIT] Désolé pour ce post... mauvaise manip de ma part !!! C'est tout bon ça fonctionne.... :sick:

Share this post


Link to post
Share on other sites

CHF est plus long que € , essaye avec des truncate plus courts

Share this post


Link to post
Share on other sites

Merci jolvil c'est vrai que CHF est un peu long... avec un truncate de 16 ca marche bien...

Share this post


Link to post
Share on other sites

bonjour,
correctif pour le problème des miniatures produits qui ne se mettent pas à jour:

Je ne comprend pas la dernière correction, quelques posts plus haut il est indiqué:

SUPPRIMER LES APPELS DE UNLINK ligne 529 ..
REMPLACER PAR....

plus loin pour la même correction :
SUPPRIMER LES APPELS DE UNLINK
REMPLACER LA FIN PAR ...

Si je me fie à l'indentation de la correction, ces lignes doivent être copier deux blocs de parenthèses plus bas, car nous sommes dans une imbrication de if,
puis en y réfléchissant ce n'est pas certain, la fin, c'est peut-être la fin de la fonction?... bref je ne comprend pas ou je dois copier les lignes,

Share this post


Link to post
Share on other sites

Pour la correction du bug de suppression de produits personnalisés du panier, voir les posts de PShopExpert dans ce topic.

Share this post


Link to post
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
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More