Jump to content

Mattisa

Members
  • Posts

    35
  • Joined

  • Last visited

Everything posted by Mattisa

  1. Bonsoir tout le monde ! Je reviens avec un nouveau souci..! J'essaie en vain d'activer le CCC et de permettre aux modules non développé par Presta de fonctionner, mais dès que j'enregistre, je suis redirigé vers le tableau de bord, et aucune modification n'est prises en compte. Presta 1.7.5.1 Héberger chez OVH en perf2014x1 PHP 7.2 Merci d'avance pour votre aide ! [ Je ne sais pas comment j'ai fait mais c'est ok..! ]
  2. Moi j'ai résolu le problème en réinstallant tout mon prestashop à une date antérieure mais j'ai maintenant un problème de decrementation de stock à l'ajout en panier !
  3. J'ai tenté de désactiver tous les modules non développé par prestashop, puis désactivé également tous les modules que j'ai mis à jour vendredi, puis vidé le cache..mais en vain. Là je ne peux plus rien faire je suis en train de transférer l'intégralité d'une sauvegarde de mon FTP qui date d'un mois...je n'aurai normalement qu'à remettre les images qui date de moins longtemps..normalement cela devrait régler le problème.
  4. Malheureusement pour moi, la désinstallation de ce module n'a rien changé mais je suis content pour vous !
  5. Bonjour. Toujours rien de nouveau de mon côté. Je vais donc restaurer mon site à une date antérieure. Je pense que le problème vient de la mise à jour de module. Pour info, les dernières mises à jour que j'ai fait concerne les modules PayPal, prestashop checkout, liste de lien et PS account.
  6. Je vais recommencer la procédure car des fichier ne sont passés je crois.. il semblerai que cela vienne de là. Elle a l'air bien cette version ! Je pense vraiment qu'il faut réfléchir à deux fois avant de faire une mise à jour de module. Je vais dorénavant faire une sauvegarde en FTP du dossier module avant de faire la moindre maj. Dès que j'ai fait le test, je vous tiens au courant..en espérant pouvoir vous aider par la suite.
  7. Bon, après plusieurs test, j'ai de nouveau la possibilité de modifier et dupliquer des fiches produits. Je n'ai toujours pas accès aux commandes dont les données ne sont pas remontés (sauf via paypal). Par contre, depuis la mise à jour, le stock produit se décompte dès la mise en panier ce qui n'est pas normal
  8. Oui c'est exactement le problème que j'ai eu..en fait j'ai créer un topic aujourd'hui, n'ayant pas vue le votre avant
  9. Je viens tous juste de finir la mise à jour.. mais je rencontre déjà des soucis avec la gestion de stock. Dès qu'un client met en panier, j'ai un décompte de stock qui se fait..alors qu'il ne devrait l'être qu'au moment du paiement. De plus je ne peux accéder au détail commande des clients. Par contre l'édition et la duplication fonctionne de nouveau
  10. J'ai testé sur Chrome et toujours le même problème. Je suis en train de faire un Backup de mon site et de la Bdd et je le passe en 1.7.7 avec le module One click Upgrade. je vous tiens au courant.
  11. Je suis d'accord, mais jusqu'ici je n'avais pas le problème. Il est vrai que j'ai effectué les mise à jour de module tel que Paypal, prestashop checkout ou prestashop account, mais je doute que cela ai un rapport avec l'édition de fiche produit si ?
  12. Comment ça j'ai regardé ? Je suis en PHP7.2, et étant en PS 1.7.5 c'est la version recommandé, je n'ai pas tenté de downgrade
  13. Bonjour, Je rencontre le même problème que vous. Mise a jour de fiche produit avec erreur (mais pris en compte des changement malgré tout). Impossible de dupliquer une fiche en étant sur un produit, et aucune remonté en stock des produit commandé. Aucune remonté des commandes et aucun envoie de mail au client lors d'une commande. Le problème est arrivé également depuis vendredi.
  14. Bonjour à tous ! Je viens avec un problème qui a un impact énorme sur ma boutique, je vous explique. Quand j'intègre un nouveau produit, j'ai un message d'erreur lors de l'enregistrement (impossible de mettre à jour les paramètre), malgré cela, le nouveau produit s'enregistre bien. Mais si je veux le dupliquer via la page produit du BO, alors j'ai le même message, il me faut donc passer par la page qui récapitule tous les produits de la catégorie, et là ça fonctionne. Autre problème, lorsque j'ai une commande de passé sur le site, peut importe la méthode de paiement, la validation se fait mais je n'ai aucun produit dans la commande client qui s'affiche, ni de retour de mail d'alerte (heureusement, je passe par paypal qui me permet d'avoir la liste, sans quoi je ne pourrai faire préparer les commandes). Le transporteur rattaché à la commande n'est pas validé non plus, je ne peux donc pas ajouter de lien de suivis) Les clients ne reçoivent pas de mail de confirmation de commande non plus. Dans le dossier VAR>log j'ai ceci : *ERROR* v1.7.5.1 2021/03/21 - 09:56:39: Can not retrieve the id_product_attribute at line 6310 in file classes/Product.php Je suis sous ps1.7.5.1, hébergé par OVH en mutu (non impacté par les soucis de Strasbourg). PHP 7.2, et aucune manipulation du coeur de prestashop. Merci pour votre aide !
  15. Bonjour, Oui j'ai réglé le soucis, mais j'ai dû le désactiver car il entrais en conflit avec un autre override (Marketplace). Si vous n'utilisez pas de module ou override pour la livraison, et passer uniquement par le natif de prestashop alors voici le code. Créer un fichier nommé : Cart.php que vous placerez dans le dossier /override/classes de votre site (via filezilla par exemple), et collez-y ce code : <?php class Cart extends CartCore { public function getPackageShippingCost($id_carrier = null, $use_tax = true, Country $default_country = null, $product_list = null, $id_zone = null) { if ($this->isVirtualCart()) { return 0; } if (!$default_country) { $default_country = Context::getContext()->country; } if (!is_null($product_list)) { foreach ($product_list as $key => $value) { if ($value['is_virtual'] == 1) { unset($product_list[$key]); } } } if (is_null($product_list)) { $products = $this->getProducts(false, false, null, false); } else { $products = $product_list; } if (Configuration::get('PS_TAX_ADDRESS_TYPE') == 'id_address_invoice') { $address_id = (int) $this->id_address_invoice; } elseif (is_array($product_list) && count($product_list)) { $prod = current($product_list); $address_id = (int) $prod['id_address_delivery']; } else { $address_id = null; } if (!Address::addressExists($address_id)) { $address_id = null; } if (is_null($id_carrier) && !empty($this->id_carrier)) { $id_carrier = (int) $this->id_carrier; } $cache_id = 'getPackageShippingCost_' . (int) $this->id . '_' . (int) $address_id . '_' . (int) $id_carrier . '_' . (int) $use_tax . '_' . (int) $default_country->id . '_' . (int) $id_zone; if ($products) { foreach ($products as $product) { $cache_id .= '_' . (int) $product['id_product'] . '_' . (int) $product['id_product_attribute']; } } if (Cache::isStored($cache_id)) { return Cache::retrieve($cache_id); } // Order total in default currency without fees $order_total = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING, $product_list); // Start with shipping cost at 0 $shipping_cost = 0; // If no product added, return 0 if (!count($products)) { Cache::store($cache_id, $shipping_cost); return $shipping_cost; } if (!isset($id_zone)) { // Get id zone if (!$this->isMultiAddressDelivery() && isset($this->id_address_delivery) // Be carefull, id_address_delivery is not usefull one 1.5 && $this->id_address_delivery && Customer::customerHasAddress($this->id_customer, $this->id_address_delivery) ) { $id_zone = Address::getZoneById((int) $this->id_address_delivery); } else { if (!Validate::isLoadedObject($default_country)) { $default_country = new Country(Configuration::get('PS_COUNTRY_DEFAULT'), Configuration::get('PS_LANG_DEFAULT')); } $id_zone = (int) $default_country->id_zone; } } if ($id_carrier && !$this->isCarrierInRange((int) $id_carrier, (int) $id_zone)) { $id_carrier = ''; } if (empty($id_carrier) && $this->isCarrierInRange((int) Configuration::get('PS_CARRIER_DEFAULT'), (int) $id_zone)) { $id_carrier = (int) Configuration::get('PS_CARRIER_DEFAULT'); } $total_package_without_shipping_tax_inc = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING, $product_list); if (empty($id_carrier)) { if ((int) $this->id_customer) { $customer = new Customer((int) $this->id_customer); $result = Carrier::getCarriers((int) Configuration::get('PS_LANG_DEFAULT'), true, false, (int) $id_zone, $customer->getGroups()); unset($customer); } else { $result = Carrier::getCarriers((int) Configuration::get('PS_LANG_DEFAULT'), true, false, (int) $id_zone); } foreach ($result as $k => $row) { if ($row['id_carrier'] == Configuration::get('PS_CARRIER_DEFAULT')) { continue; } if (!isset(self::$_carriers[$row['id_carrier']])) { self::$_carriers[$row['id_carrier']] = new Carrier((int) $row['id_carrier']); } /** @var Carrier $carrier */ $carrier = self::$_carriers[$row['id_carrier']]; $shipping_method = $carrier->getShippingMethod(); // Get only carriers that are compliant with shipping method if (($shipping_method == Carrier::SHIPPING_METHOD_WEIGHT && $carrier->getMaxDeliveryPriceByWeight((int) $id_zone) === false) || ($shipping_method == Carrier::SHIPPING_METHOD_PRICE && $carrier->getMaxDeliveryPriceByPrice((int) $id_zone) === false)) { unset($result[$k]); continue; } // If out-of-range behavior carrier is set on "Desactivate carrier" if ($row['range_behavior']) { $check_delivery_price_by_weight = Carrier::checkDeliveryPriceByWeight($row['id_carrier'], $this->getTotalWeight(), (int) $id_zone); $total_order = $total_package_without_shipping_tax_inc; $check_delivery_price_by_price = Carrier::checkDeliveryPriceByPrice($row['id_carrier'], $total_order, (int) $id_zone, (int) $this->id_currency); // Get only carriers that have a range compatible with cart if (($shipping_method == Carrier::SHIPPING_METHOD_WEIGHT && !$check_delivery_price_by_weight) || ($shipping_method == Carrier::SHIPPING_METHOD_PRICE && !$check_delivery_price_by_price)) { unset($result[$k]); continue; } } if ($shipping_method == Carrier::SHIPPING_METHOD_WEIGHT) { $shipping = $carrier->getDeliveryPriceByWeight($this->getTotalWeight($product_list), (int) $id_zone); } else { $shipping = $carrier->getDeliveryPriceByPrice($order_total, (int) $id_zone, (int) $this->id_currency); } if (!isset($min_shipping_price)) { $min_shipping_price = $shipping; } if ($shipping <= $min_shipping_price) { $id_carrier = (int) $row['id_carrier']; $min_shipping_price = $shipping; } } } if (empty($id_carrier)) { $id_carrier = Configuration::get('PS_CARRIER_DEFAULT'); } if (!isset(self::$_carriers[$id_carrier])) { self::$_carriers[$id_carrier] = new Carrier((int) $id_carrier, Configuration::get('PS_LANG_DEFAULT')); } $carrier = self::$_carriers[$id_carrier]; // No valid Carrier or $id_carrier <= 0 ? if (!Validate::isLoadedObject($carrier)) { Cache::store($cache_id, 0); return 0; } $shipping_method = $carrier->getShippingMethod(); if (!$carrier->active) { Cache::store($cache_id, $shipping_cost); return $shipping_cost; } // Free fees if free carrier if ($carrier->is_free == 1) { Cache::store($cache_id, 0); return 0; } // Select carrier tax if ($use_tax && !Tax::excludeTaxeOption()) { $address = Address::initialize((int) $address_id); if (Configuration::get('PS_ATCP_SHIPWRAP')) { // With PS_ATCP_SHIPWRAP, pre-tax price is deduced // from post tax price, so no $carrier_tax here // even though it sounds weird. $carrier_tax = 0; } else { $carrier_tax = $carrier->getTaxesRate($address); } } $configuration = Configuration::getMultiple(array( 'PS_SHIPPING_FREE_PRICE', 'PS_SHIPPING_HANDLING', 'PS_SHIPPING_METHOD', 'PS_SHIPPING_FREE_WEIGHT', )); // Free fees $free_fees_price = 0; if (isset($configuration['PS_SHIPPING_FREE_PRICE'])) { $free_fees_price = Tools::convertPrice((float) $configuration['PS_SHIPPING_FREE_PRICE'], Currency::getCurrencyInstance((int) $this->id_currency)); } $orderTotalwithDiscounts = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING, null, null, false); if ($orderTotalwithDiscounts >= (float) ($free_fees_price) && (float) ($free_fees_price) > 0) { $shipping_cost = $this->getPackageShippingCostFromModule($carrier, $shipping_cost, $products); Cache::store($cache_id, $shipping_cost); return $shipping_cost; } if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) && $this->getTotalWeight() >= (float) $configuration['PS_SHIPPING_FREE_WEIGHT'] && (float) $configuration['PS_SHIPPING_FREE_WEIGHT'] > 0) { $shipping_cost = $this->getPackageShippingCostFromModule($carrier, $shipping_cost, $products); Cache::store($cache_id, $shipping_cost); return $shipping_cost; } $getCartRuless = $this->getCartRules(); $the_discount = $getCartRuless[0]['value_real']; $the_total_price = floatval($order_total) - floatval($the_discount); //this code get the discount amount then remove it from order total //output is $the_total_price variable // Get shipping cost using correct method if ($carrier->range_behavior) { if (!isset($id_zone)) { // Get id zone if (isset($this->id_address_delivery) && $this->id_address_delivery && Customer::customerHasAddress($this->id_customer, $this->id_address_delivery)) { $id_zone = Address::getZoneById((int) $this->id_address_delivery); } else { $id_zone = (int) $default_country->id_zone; } } if (($shipping_method == Carrier::SHIPPING_METHOD_WEIGHT && !Carrier::checkDeliveryPriceByWeight($carrier->id, $this->getTotalWeight(), (int) $id_zone)) || ($shipping_method == Carrier::SHIPPING_METHOD_PRICE && !Carrier::checkDeliveryPriceByPrice($carrier->id, $total_package_without_shipping_tax_inc, $id_zone, (int) $this->id_currency) )) { $shipping_cost += 0; } else { if ($shipping_method == Carrier::SHIPPING_METHOD_WEIGHT) { $shipping_cost += $carrier->getDeliveryPriceByWeight($this->getTotalWeight($product_list), $id_zone); } else { // by price $shipping_cost += $carrier->getDeliveryPriceByPrice($the_total_price, $id_zone, (int) $this->id_currency); } } } else { if ($shipping_method == Carrier::SHIPPING_METHOD_WEIGHT) { $shipping_cost += $carrier->getDeliveryPriceByWeight($this->getTotalWeight($product_list), $id_zone); } else { $shipping_cost += $carrier->getDeliveryPriceByPrice($the_total_price, $id_zone, (int) $this->id_currency); } } // Adding handling charges if (isset($configuration['PS_SHIPPING_HANDLING']) && $carrier->shipping_handling) { $shipping_cost += (float) $configuration['PS_SHIPPING_HANDLING']; } // Additional Shipping Cost per product foreach ($products as $product) { if (!$product['is_virtual']) { $shipping_cost += $product['additional_shipping_cost'] * $product['cart_quantity']; } } $shipping_cost = Tools::convertPrice($shipping_cost, Currency::getCurrencyInstance((int) $this->id_currency)); //get external shipping cost from module $shipping_cost = $this->getPackageShippingCostFromModule($carrier, $shipping_cost, $products); if ($shipping_cost === false) { Cache::store($cache_id, false); return false; } if (Configuration::get('PS_ATCP_SHIPWRAP')) { if (!$use_tax) { // With PS_ATCP_SHIPWRAP, we deduce the pre-tax price from the post-tax // price. This is on purpose and required in Germany. $shipping_cost /= (1 + $this->getAverageProductsTaxRate()); } } else { // Apply tax if ($use_tax && isset($carrier_tax)) { $shipping_cost *= 1 + ($carrier_tax / 100); } } $shipping_cost = (float) Tools::ps_round((float) $shipping_cost, 2); Cache::store($cache_id, $shipping_cost); return $shipping_cost; } } ?>
  16. Hello, Do you have a solution for Prestashop 1.7 ? I tried to do that, but it seems that it does not work for me. Thank you
  17. Bonjour, A tout hasard, avez vous trouvé une solution à votre problème ? Je cherche en vain à faire à peu près la même chose.. Merci d'avance.
  18. Bonjour, Depuis le mois d'avril , je cherche en vain une solution à mon problème. J'ai tenté de modifier la fonction getProductsDetail dans Classes/Order.php sans résultat. Quelqu'un aurait une idée de la manière de faire ? Je précise que je cherche à modifier l'ordre d'affichage des produits acheté par un client dans le BO détail commande client. Je souhaiterai que l'ordre d'affichage se fasse par référence. Merci d'avance !
  19. Bonjour, Je rencontre un soucis sur lequel je m'arrache les cheveux ! Je suis sous Presta 1.7.5.1. J'ai créée deux transporteur, un pour la France, et un pour les pays limitrophes. Chacun des transporteurs est configuré par tranche de prix de sorte à offrir la livraison gratuite à partir de : - La France : - entre 0€ et 10€ -> 1.79€ de frais de port - entre 10€ et 15€ -> 2.76€ de frais de port - entre 15€ et 19€ -> 3. 56€ de frais de port - supérieur à 19 € -> Gratuit Pour les autres pays, j'ai agit sur les mêmes tranches mais j'ai permis la livraison gratuite à partir de 29€. Le problème que je rencontre, c'est que j'ai des règles panier qui permettent d'avoir des réduction de X% sur une catégorie de produit, sans parler de la remise première commande...et le soucis, c'est que la gratuité de la livraison ne se calcul que sur le montant panier avant remise, et non après. Je cherche donc une solution type override, mais, à moins de mal mis prendre dans la manière de le coder, je n'y arrive pas. Je précise que je n'ai pas l'envie d'acheter un module, car le site débute, et je n'ai pas la possibilité d'investir. Pour infos, je me suis servis de cette solution, mais sans succès : Calcul livraison gratuite sur prix total Un grand merci à celles et ceux qui sauront m'apporter une réponse courtoise..!
  20. Bonjour Yoann, Pour ma part, pour retrouver les e-mail des clients inscrits je vais dans l'onglet client ou figure la liste et je l'a filtre afin de ne faire apparaître sur les clients étant inscrit à la newsletter, puis je l'exporte périodiquement sous CVS. Pour les mail, le plus simple à mon sens et d'aller les chercher sur FTP dans le dossier mail, de les modifier en local et de les transférer de nouveau. Je te conseille de télécharger tout le dossier mail et d'en faire un sauvegarde dans le cas où tu ferais une mauvaise manipulation. Bon courage dans cette passionnante aventure !
  21. Bonjour, Il te faut télécharger un client FTP (Logiciel) comme par exemple Filezilla. Ensuite ton hébergeur t'as donné des codes pour "uploader" tes fichiers, tes images, ou tout autre document que tu souhaites ajouter à ton site. Tu les rentres dans Filezilla pour te connecter et tu y verras toute l'arborescence de ton site. C'est ici que tu dois chercher le fichier css à modifier.
  22. Bonjour ! J'ai besoin d'aide sur un problème que je rencontre pour la préparation de commande, je m'explique : J'ai des produit dont la référence et : xy12_048/108 ; xy12_049/108 ; ... ainsi que d'autre dans le même genre : SL12_001/236 ; SL12_049/236 ; ... Lorsqu'un client passe commande, les références sont indiquées dans l'ordre dans lequel il les a placées dans son panier. Je cherche un moyen de pouvoir les trier par ordre selon la référence, de manière à pouvoir préparer mes commandes plus efficacement. J'ai cherché sur le forum mais en vain. Je vous remercie infiniment pour votre aide ! Mathieu
×
×
  • Create New...

Important Information

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