Jump to content

chettbi

Members
  • Posts

    75
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by chettbi

  1. Bonjour,

    Merci pour votre retour.
    Pour le moteur de recherche combiné à la sélection je n'y avait pas pensé, c'est une bonne idée, quand j'aurais le temps je le rajouterais peut-être, mais pour l'instant j'utilise celui base en plus (que je trouve très bien d’ailleurs)

    Ensuite je n'ai pas compris votre deuxième problème, voter site est=il en ligne que je puisse voir exactement de quoi il s'agit?

    Merci.

    PS : pouvez-vous faire un petit effort sur l'orthographe?

  2. Merci beacoup Jokoss d'avoir pris du temps pour me faire ce réponse, en effet mettre plus les produits en avant est une bonne remarque, j'aime bien l'idée de la présentation sur 2 colonnes, j'en parlerais avec mon chef de projet.

    Aprés en ce qui concerne le ration des images je ne m'y suis pas particulièrement penchée, mais en effet c'est une chose qu'il faut que je revois.

    Merci à tous en tout cas :)


    (petite question : avez-vous eu des soucis de lenteur en visitant le site? étaient-ils vraiment génant? )

  3. Bonjour,

    juste un petit conseil en passant, cela serait bien de ne pas laisser le fond fixe afin de dynamiser la visite.


    Bonjour, merci déjà pour votre réponse.

    Ne pas laisser le fond fixe, c'est à dire ? Qu'on ne voit vois le dégradé blanc que quand on est en haut de la page et le noir qu'en bas ? Pourquoi pas, je prends en compte votre remarque :)
  4. Bonjour,

    Après maintes péripéties, le site sur lequel je travaillais est enfin en ligne.

    http://www.cdeco-art.fr/


    C'est un prestashop couplé avec un wordpress pour faire du "managing" de la déco.
    J'aurais voulu avoir vos avis que le site en lui-même (graphisme, concept...), et aussi me dire ce que vous pensez de la "rapidité" du site.
    Je m'explique, il est relativement long à charger, j'ai mis le force_compile à false, essayer de réduire le nombre de fichier appelés etc... mais toujours long, je sais que les slides mis en places "pompent", l’Ajax pour l'interaction avec wordpress n'est pas des plus rapide... une idée d'où cette lenteur peut venir? Le serveur serait-il trop léger?

    Merci d'avance à tous ceux qui prendront quelques minutes pour me lire et visiter le site, ;-)
    Chettbi

  5. Bonjour,

    Alors, je vous prévient tout de suite, c'est un cas à la c**, mais j'ai réussi à tomber dessus.

    Donc j'ai un produit à 70€ TTC (tva 19.6) au quel j'ajoute une réduction de 10% => il devient donc à 63€ TTC
    Je le met dans mon panier,
    J'ajoute un bon de réduction àn 20€ (cumulable et tout le blabla)
    Je continu mon achat, frais de port à 26€05 ect. ect.

    Je vois ma facture, aucun soucis :
    total produit TTC : 63€
    total réduc : 20 €
    total livraison : 26€02
    total à payer : 69€05

    Jusque là tout va bien.

    Là ou ça se complique, c'est lorsque je vais dans la fiche commande dans le BO, je fait un remboursement du produit :
    - générer un avoir
    - inclure les frais de port

    Et là... l'avoir indique un remboursement de 71€05... pour une commande payée à 69€05, vous voyez le soucis.
    J'ai donc creusé le problème. Lors de la génération de l'avoir :
    - il y a le prix du produit (70€) au quel on soustrait le bon de reduction (20€), et SEULEMENT ensuite, la réduction (10%) est appliquée (et ensuite + 26€05 de frais de port)

    ((70-20)*10%)+26.05 = 50*10% + 26.05 = 45 + 26.05 = 71.05


    Donc pourquoi la réduction s'applique au bon de réduction ?

    J'ai trouvé la fonction qui pourrai être incriminée dans la classe OrderSlip.php :

    static public function getOrdersSlipProducts($orderSlipId, $order)
       {
           $discounts = $order->getDiscounts(true);
           $productsRet = self::getOrdersSlipDetail($orderSlipId);
           $products = $order->getProductsDetail();
           $tmp = array();
           foreach ($productsRet as $slip_detail)
               $tmp[$slip_detail['id_order_detail']] = $slip_detail['product_quantity'];
           $resTab = array();
           foreach ($products as $key => $product)
               if (isset($tmp[$product['id_order_detail']]))
               {
                   $resTab[$key] = $product;
                   $resTab[$key]['product_quantity'] = $tmp[$product['id_order_detail']];
                   if (sizeof($discounts))
                   {
                       $order->setProductPrices($product);
                       $realProductPrice = $resTab[$key]['product_price'];
                       foreach ($discounts as $discount)
                       {
                           if ($discount['id_discount_type'] == 1)
                               $resTab[$key]['product_price'] -= $realProductPrice * ($discount['value'] / 100);
                           elseif ($discount['id_discount_type'] == 2)
                               $resTab[$key]['product_price'] -= (($discount['value'] * ($product['product_price_wt'] / $order->total_products_wt)) / (1.00 + ($product['tax_rate'] / 100)));
                       }                
                   }
               }
           return $order->getProducts($resTab);
       }



    C'est probablement cette ligne là qui est en cause :

    $resTab[$key]['product_price'] -= (($discount['value'] * ($product['product_price_wt'] / $order->total_products_wt)) / (1.00 + ($product['tax_rate'] / 100)));
    



    Mais j'ai du mal à comprendre ce qu'elle fait, et à quoi elle sert :/

    Donc je vous demande votre aide, et aussi, si vous aussi vous rencontrez ce problème.

    Je vous avoue que je n'ai pas encore parcourue le bug tracker pour voir si le bug est déjà signalé et/ou résolut. JE le ferai qd j'aurai confirmation que je ne suis pas la seule à avec le problème.


    Merci à tous,
    Chettbi

    • Like 1
  6. Bon en voulant réparer un autre bug j'ai réussi à voir les erreurs php, donc c'était bien les includes qui ne marchaient pas, ils sont maintenant devenu

    include_once('../modules/loyalty/LoyaltyModule.php');
    include_once('../modules/loyalty/LoyaltyStateModule.php');
    



    C'est pas propre mais ca marche presque, j'ai encore un petit soucis, ca marche bien depuis le BO, mais pas le FO, je regarderais ca demain à tête reposée
    Merci encore :)

  7. Bonjour,


    Encore désolée de remonter un post du fin fond du forum, mais j'ai un petit soucis au niveau de retour de commande.
    Je ne sais pas si ce module en est la cause.

    Dés que je veux faire un retour produit pour une commande j'ai droit à une

    Fatal error (Product -> id_tax is empty)



    Alors j'ai foullié foullié et encore foullié :

    dans AdminOrder.php il y a

    Hook::updateQuantity($product, $order);



    Qui fait appel à

    Module::hookExec('updateQuantity', array('product' => $product, 'order' => $order));



    Qui lui même fait appel à :

    $output .= call_user_func(array($moduleInstance, 'hook'.$hook_name), $hookArgs);


    C'est cette derniére fonction qui bloque, j'ai donc verifier le contenu des variables et $moduleInstance represente CheckStock.

    Alors pourquoi? comment? Je ne sais pas, mais je ne sait pas ou est écrite la fonction

    call_user_func()



    Je ne peux donc pas teser plus loin. Je ne sais pas non plus si l'erreur vient de moi et des développements que j'ai pu faire, ou si d'autres personnes utilisant ce module rencotre aussi ce problème.

    Sinon j'ai aussi régulierement des erreurs JS (merci firebug)

    ecotaxTaxRate is not defined



    Sinon le module en lui même est très bien.

    Merci d'avance de vos réponces ;)
    Chettbi

  8. Bonjour,

    Alors, mes clientes veulent absolument voir le nombre de points de fidélité sur la facture PDF de la commande.
    J'ai commencé à regarder dans la classe PDF.php (je sais ce n'est pas bien de modifier le cœur de prestashop...)

    Afficher une nouvelle ligne : pas de soucis

    if($point>0){
                   $pdf->Ln(4);
                   $pdf->Ln(4);
                   $pdf->Cell($width, 0, self::l('Votre commande vous a rapporté '), 0, 0, 'R');
                   $pdf->Cell(0, 0, $point.self::l(' décopoints'), 0, 0, 'R');
                   $pdf->Ln(4);
               }



    Le problème récupérer les points cumuler, en principe avec cette fonction de la classe modules > loyalty > LoyaltyModule.php :

    $point = LoyaltyModule::getOrderNbPoints(self::$order->id);



    Le problème viens là, j'ai beau inclure la classe en au début de PDF.php

    include_once(_MODULE_DIR_.'loyalty/LoyaltyModule.php');


    ou même

    include_once(_MODULE_DIR_.'loyalty/LoyaltyModule.php');
    include_once(_MODULE_DIR_.'loyalty/LoyaltyStateModule.php');




    J'ai une internal error 500 au niveau de l'exécution de la fonction getOrderNbPoints.

    En mettant des require à la place des include, internal error 500 dès le début, donc je suppose que c'est l'appel des fichiers qui ne marche pas.

    Vraiment une erreur bête et une solution tout aussi bête je pense, mais en ce jeudi, avec ce beau soleil et le week end qui approche, je n'arrive plus à réfléchir correctement, donc je vous demande voter aide.

    Merci à tous d'avance ;)

  9. Bonjour,
    Je réponds, avec presque 2ans de retard par rapport au sujet initial; j'en suis bien consciente; mais c'est ici que j'ai réussie à trouver le début d'une solution grâce à Mudplanet

    J'ai donc crée un transporteur pour chaque tranche de prix d'assurance de la poste (R1 : de 0 à 50€, R2 : de50 à 200€...) auquel j'ai renseigné une seule tranche de prix le caractérisant, puis les tranches de poids comme indiqués par la poste.
    Dans les paramètres du transporteur j'ai mis pour "Comportement des tranches» : «Désactiver le transporteur".
    Et j'ai choisis la facturation "En fonction du poids total".

    Et c'est là qu’on commence à rentrer dans code...
    Dans classes -> Carrier.php, j'ai rajouté la fonction (peu importe où, moi je l'ai mise après checkDeliveryPriceByWeight(), env. ligne 157)

       // ### modif test prix ###
       static public function checkDeliveryPriceByWeightAndPrice($id_carrier, $totalWeight, $id_zone, $orderTotalPrice)
       {
           $result = Db::getInstance()->getRow('
           SELECT d.`price`
           FROM `'._DB_PREFIX_.'delivery` d
           WHERE d.`id_zone` = '.intval($id_zone).'
           AND d.`id_carrier` = '.intval($id_carrier).'
           AND d.`id_range_weight` = (select w.`id_range_weight` 
                                       from ps_range_weight w, ps_range_price p
                                       where w.`id_carrier` = p.`id_carrier`
                                       and w.`id_carrier` = '.intval($id_carrier).'
                                       and '.floatval($totalWeight).' >= w.`delimiter1`
                                       and '.floatval($totalWeight).' < w.`delimiter2`
                                       and '.floatval($orderTotalPrice).' >= p.`delimiter1`
                                       and '.floatval($orderTotalPrice).' < p.`delimiter2`)
           ');
           if (!isset($result['price']))
               return false;
           return true;        
       }
       // ### fin modif test prix ###
    



    Puis dans order.php j'ai remplacé (env. ligne 351)

    if ((Configuration::get('PS_SHIPPING_METHOD') AND (!Carrier::checkDeliveryPriceByWeight($row['id_carrier'], $cart->getTotalWeight(), $id_zone)))
               OR (!Configuration::get('PS_SHIPPING_METHOD') AND (!Carrier::checkDeliveryPriceByPrice($row['id_carrier'], $cart->getOrderTotal(true, 4), $id_zone, $cart->id_currency))))
                   {
                       unset($result[$k]);
                       continue ;
                   }



    par

    // ### modif : ancien code avec soit poids, soit prix ###
               /*if ((Configuration::get('PS_SHIPPING_METHOD') AND (!Carrier::checkDeliveryPriceByWeight($row['id_carrier'], $cart->getTotalWeight(), $id_zone)))
               OR (!Configuration::get('PS_SHIPPING_METHOD') AND (!Carrier::checkDeliveryPriceByPrice($row['id_carrier'], $cart->getOrderTotal(true, 4), $id_zone, $cart->id_currency))))
                   {
                       unset($result[$k]);
                       continue ;
                   }
               */
               // ### Modif poids et prix ###
               if (!Carrier::checkDeliveryPriceByWeightAndPrice($row['id_carrier'], $cart->getTotalWeight(), $id_zone, $cart->getOrderTotal(true, 4)))
               {
                   unset($result[$k]);
                   continue ;
               }                
    



    J'ai moi ça marche, ça n'affiche que le/les prix du transporteur(s) dans la tranche de prix et de poids voulu.

    J'espère avoir pu aider quelqu'un avec ce remontage de topic du fin fond des oubliettes du forum de prestashop.

×
×
  • Create New...

Important Information

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