Jump to content

DrOSX

Members
  • Posts

    56
  • Joined

  • Last visited

Everything posted by DrOSX

  1. Bonjour, Je suis tombé sur cet article pour déplacer le message d'alerte du bloc newsletter en bas de page (à côté du module) ce qui est plus normal. (lien : https://www.matthieu-jalbert.fr/deplacer-les-messages-dalerte-du-module-newsletter-de-prestashop/) N'ayant plus de pré-prod, je ne peux pas tester la modification. Quelqu'un pourrait me donner la ligne finale 44 une fois modifiée ? Merci beaucoup !
  2. Bonjour, Un peu d'aide dans un premier temps (nécessaire pour avancer) : http://doc.prestashop.com/display/PS17/Installer+PrestaShop Cdt
  3. Non, impossible d'attribuer une caractéristique a une déclinaison. C'est bien la difficulté en cours...
  4. Bonjour, Nous utilisons SENDINBLUE pour l'envoi de newsletters. Nous cherchons une solution (prestataires, plug-in ?) pour ajouter du contenu ciblé à nos newsletters et proposer aux clients des articles en rapport avec leurs achats précédents ou leurs paniers (rappel ou complémentaire ou similaire...) Nous travaillons avec NOSTO par exemple pour la recommandation de produit sur la boutique mais en newsletter, je n'ai aucun contact. L'idéal serait que la newsletter parte automatiquement mais cela risque d'être compliqué. Nous pouvons éventuellement ajouter qq lignes de texte ou un code hTML à la newsletter ou utiliser une solution dédiée... Merci de votre aide,
  5. Merci pour ces indications. SuR Prestashop. 1.6.1, je n'ai pas de fichier discountcontroller.php mais uniquement Discount.php (dans /www/classes/Discount.php) avec le code ci-dessous. Est-ce bien le code à remplacer ? Merci d'avance, <?php /* * 2007-2015 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2015 PrestaShop SA * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ /** * @deprecated 1.5.0.1 */ class DiscountCore extends CartRule { const PERCENT = 1; const AMOUNT = 2; const FREE_SHIPPING = 3; public function __get($key) { Tools::displayAsDeprecated(); if ($key == 'id_group') { return 0; } if ($key == 'id_discount_type') { if ($this->free_shipping) { return Discount::FREE_SHIPPING; } if ($this->reduction_percent > 0) { return Discount::PERCENT; } if ($this->reduction_amount > 0) { return Discount::AMOUNT; } } if ($key == 'name') { return $this->code; } if ($key == 'value') { if ($this->reduction_percent > 0) { return $this->reduction_percent; } if ($this->reduction_amount > 0) { return $this->reduction_amount; } } if ($key == 'cumulable') { return $this->cart_rule_restriction; } if ($key == 'cumulable_reduction') { return false; } if ($key == 'minimal') { return $this->minimum_amount; } if ($key == 'include_tax') { return $this->reduction_tax; } if ($key == 'behavior_not_exhausted') { return $this->partial_use; } if ($key == 'cart_display') { return true; } return $this->{$key}; } public function __set($key, $value) { Tools::displayAsDeprecated(); if ($key == 'id_discount_type') { if ($value == Discount::FREE_SHIPPING) { $this->free_shipping = true; $this->reduction_percent = false; $this->reduction_amount = false; } if ($value == Discount::PERCENT) { $this->free_shipping = false; $this->reduction_percent = true; $this->reduction_amount = false; } if ($value == Discount::AMOUNT) { $this->free_shipping = false; $this->reduction_percent = false; $this->reduction_amount = true; } } if ($key == 'code') { $this->name[Configuration::get('PS_LANG_DEFAULT')] = $value; } if ($key == 'value') { if ($this->reduction_percent) { $this->reduction_percent = $value; } if ($this->reduction_amount) { $this->reduction_amount = $value; } } if ($key == 'cumulable') { $this->cart_rule_restriction = 1; } if ($key == 'minimal') { $this->minimum_amount = $value; } if ($key == 'include_tax') { $this->reduction_tax = $value; } if ($key == 'behavior_not_exhausted') { $this->partial_use = $value; } $this->{$key} = $value; } public function __call($method, $args) { Tools::displayAsDeprecated(); $obj = $this->parent; if (in_array($method, array('add', 'update', 'getIdByName', 'getCustomerDiscounts', 'getValue', 'discountExists', 'createOrderDiscount', 'getVouchersToCartDisplay', 'display'))) { $obj = $this; } return call_user_func_array(array($obj, $method), $args); } /** * @deprecated 1.5.0.1 */ public function add($autodate = true, $nullValues = false, $categories = null) { $r = parent::add($autodate, $nullValues); // Todo : manage categories return $r; } /** * @deprecated 1.5.0.1 */ public function update($autodate = true, $nullValues = false, $categories = null) { $r = parent::update($autodate, $nullValues); // Todo : manage categories return $r; } /** * @deprecated 1.5.0.1 */ public static function getIdByName($code) { return parent::getIdByCode($code); } /** * @deprecated 1.5.0.1 */ public static function getCustomerDiscounts($id_lang, $id_customer, $active = false, $includeGenericOnes = true, $hasStock = false, Cart $cart = null) { return parent::getCustomerCartRules($id_lang, $id_customer, $active, $includeGenericOnes, $hasStock, $cart); } /** * @deprecated 1.5.0.1 */ public static function getVouchersToCartDisplay($id_lang, $id_customer) { return CartRule::getCustomerCartRules($id_lang, $id_customer); } /** * @deprecated 1.5.0.1 */ public function getValue($nb_discounts = 0, $order_total_products = 0, $shipping_fees = 0, $id_cart = false, $useTax = true, Currency $currency = null, Shop $shop = null) { $context = Context::getContext(); if ((int)$id_cart) { $context->cart = new Cart($id_cart); } if (Validate::isLoadedObject($currency)) { $context->currency = $currency; } if (Validate::isLoadedObject($shop)) { $context->shop = $shop; } return parent::getContextualValue($useTax, $context); } /** * @deprecated 1.5.0.1 */ public static function discountExists($discountName, $id_discount = 0) { return parent::cartRuleExists($discountName); } /** * @deprecated 1.5.0.1 * @param Order $order * @return Discount */ public static function createOrderDiscount($order, $productList, $qtyList, $name, $shipping_cost = false, $id_category = 0, $subcategory = 0) { $products = $order->getProducts(false, $productList, $qtyList); // Totals are stored in the order currency (or at least should be) $total = $order->getTotalProductsWithTaxes($products); $discounts = $order->getDiscounts(true); $total_tmp = $total; foreach ($discounts as $discount) { if ($discount['id_discount_type'] == Discount::PERCENT) { $total -= $total_tmp * ($discount['value'] / 100); } elseif ($discount['id_discount_type'] == Discount::AMOUNT) { $total -= ($discount['value'] * ($total_tmp / $order->total_products_wt)); } } if ($shipping_cost) { $total += $order->total_shipping; } // create discount $voucher = new Discount(); $voucher->id_discount_type = Discount::AMOUNT; foreach (Language::getIDs((bool)$order) as $id_lang) { $voucher->description[$id_lang] = strval($name).(int)($order->id); } $voucher->value = (float)($total); $voucher->name = 'V0C'.(int)($order->id_customer).'O'.(int)($order->id); $voucher->id_customer = (int)($order->id_customer); $voucher->id_currency = (int)($order->id_currency); $voucher->quantity = 1; $voucher->quantity_per_user = 1; $voucher->cumulable = 1; $voucher->cumulable_reduction = 1; $voucher->minimal = (float)($voucher->value); $voucher->active = 1; $voucher->cart_display = 1; $now = time(); $voucher->date_from = date('Y-m-d H:i:s', $now); $voucher->date_to = date('Y-m-d H:i:s', $now + (3600 * 24 * 365.25)); /* 1 year */ if (!$voucher->validateFieldsLang(false) || !$voucher->add()) { return false; } // set correct name $voucher->name = 'V'.(int)($voucher->id).'C'.(int)($order->id_customer).'O'.$order->id; if (!$voucher->update()) { return false; } return $voucher; } /** * @deprecated 1.5.0.1 */ public static function display($value, $type, $currency = null) { if ((float)$value && (int)$type) { if ($type == 1) { return $value.chr(37); } // ASCII #37 --> % (percent) elseif ($type == 2) { return Tools::displayPrice($value, $currency); } } return ''; // return a string because it's a display method } }
  6. Là, je ne te suis pas. La génération de codes EAN par un organisme est la seule solution pour des produits non existants (manufacturés par exemple). Pour des produits déjà existants sur le marché, le fournisseur les possède et il suffit de lui demander.
  7. bonjour, Cela ne règle pas le soucis de conformité. Les codes sont attribués par des organismes comme G1. J'ai du mal à comprendre l'intérêt du module . Merci d'être plus clair. Cdt
  8. Bonjour, A mon sens, il faut partir du principe que tout élément allant dans le sens du professionnalisme ne peut être que positif. C'est un élément de réassurance indispensable. Tu constateras d'ailleurs que tout site sérieux met en avant les avis clients (d'une manière ou d'une autre) . Un site qui n'en possède pas ne veut pas dire qu'il n'est pas sérieux mais s'enlève une chance. Je plussoie aussi les arguments de chDUP à 100% Au plaisir de discuter de AVIS VERIFIES (2 000 avis pour moi) en MP si tu le souhaites. @ +
  9. Bonjour, Je vous invite à regarder mon expérience personnelle. (Qui n'engage que moi ) : https://www.prestashop.com/forums/topic/206783-lengow-iziflux-ou-shopping-flux/?p=2618601 Bonne recherche de gestionnaire de flux à vous,
  10. LENGOW + ESCROC EN COL BLANC --> Je blague mais on est pas loin de la vérité.. Actuellement en cours de changement de mon gestionnaire de flux, j'en profite pour vous donner mon expérience après 2 mois chez Shopping Flux puis 2 ans chez Lengow. Je vais essayer d'être le plus objectif possible sur mon expérience. Je n'ai pas l'habitude d'émettre des posts négatifs sur les forums mais je pense que la situation est assez catastrophique pour alerter d'autres utilisateurs potentiels. J'ai aussi un blog en prévision, qui sera spécialement conçu pour LENGOW puisque je me retrouve au pied du mur et que je supporte pas... INFO : E-commerce - Environ 1 000 commandes/mois via le gestionnaire de flux. 3 places de marché, 1 comparateur de flux et Google Shopping. En toute franchise, j'ai testé (trop ) rapidement shopping flux qui semblait plutôt fonctionnel mais sur le coup les tutoriels de Lengow m'ont convaincu pour migrer après 2 mois. Je ne peux donc pas m'exprimer concernant Shopping Flux même si mon ressenti était assez favorable... LENGOW est une solution fonctionnelle, puissante et complète mais chère. Je vous laisse consulter les tarifs en direct des solutions à ce jour pour vous en convaincre. Le SAV (ouvertures de ticket) est fonctionnel mais lent (comptez jusqu'à 48H pour des réponses et 24H assez souvent), nous avons eu des ennuis techniques avec des incidences importantes qui ont mis 1 semaine à se résoudre à cause des allers/retours . J'ai bien obtenu un téléphone mais il fallait montrer patte blanche pour passer le filtrage des secrétaires. Donc, en cas de gros bug, sachez que personne n'est derrière vous et pas le week-end par exemple. (J'ai par exemple un hébergeur 24H24 et 7/7 avec un technicien présent, ça n'a pas de prix). Les relations avec les conseillers sont catastrophiques. oui LENGOW a levé 10 millions d'euro mais la contre-partie c'est qu'à mon sens, ils ont été dépassé par cette levée...Lisez bien mon histoire : Nous avons eu différents incidents avec un conseiller en 2016 (qui d'ailleurs ne fait plus partie de Lengow) et la direction n'a jamais pris position. Aucune réponse à notre courrier en A/R, de personne. La raison principale est liée à un changement d'offre (au delà d'un nombre de flux ou de produits) de 100 à 350€/mois environ. Un jour, le conseiller me confirme au téléphone que LENGOW allait analyser mon compte et que j'allais changer d'offre de 118€ à 420€ si je ne supprime pas un flux ou des produits avant minuit (heure de l'indexation). Contente d'être prévenu, c'est chose fait à 19H, juste après son appel je modifie mes flux !! J'en profite même pour poser des questions par ticket au technicien à ce sujet. Le mois suivant, LENGOW m'a quand même changé mon offre. Je rappelle le conseiller 2 jours après qui avait "oublié nos échanges" et ferme la discussion bien qu'elle constate que mon nombre de produit est compatible avec la première offre, ce qui montre que j'ai bien effectué la modification. Je fais un courrier en A/R. Aucune réponse, je relance en courrier, email téléphone et on me transfère un responsable plus souple mais peu conciliant quand même qui me répond : "On ne peut plus repasser en offre de lancement même si le nombre de flux est compatible. Vous en êtes sorti une fois c'est trop tard". Pourtant, j'avais bien changé mon nombre de produit à temps !! Il semblerait que LENGOW n'indexe pas à minuit....On m'a donc donné une fausse info. J'ai beau lui faire comprendre que je me suis bien assuré de tout comprendre par téléphone et que la conseillère m'a dit minuit pour éviter de passer de 118€ à 420€ mais rien n'y fait. Je lui montré mes échanges avec les techniciens du soir même qui prouve que j'étais bien dans cette démarche mais rien n'y fait non plus. Dur de la feuille ce LENGOW.. :-) Après bataille, j'obtiens un avoir d'un nouveau conseiller (l'ancien a changé) et 6 mois après, je constate que l'avoir n'est pas mis en place. Je contact LENGOW mais on me demande les preuves par email car le conseiller a encore changé depuis. Pas de chance j'ai perdu la trace de ces emails mais pas différents échanges écrits qui suffisaient à montrer ma bonne foi... Puis, incident technique, mes statuts de commande (mis en "expédiés) ne remontent pas chez Amazon. 200 commandes un lundi matin qui restent en préparation. Amazon ferme mon compte 15 jours (perte de CA). Les techniciens me confirment qu'ils sont responsables par écrit (que je possède encore). Hasard des choses, un nouveau conseiller m'appelle et me présente une nouvelle formule à 500€ au lieu de 400€ (environ). Je lui dis que je souhaiterais tester 2 mois gratuitement (ce qui ne compense même pas le CA perdu ni les avoirs). Il me demande de faire un email. Je fais, aucune réponse. J'appelle 2 fois et en refais 3 et là : Réponse négative ben emballée avec un joli blabla. J'ai tout essayé, avec des preuves pourtant indiscutables, j'ai perdu du temps de cerveau et de l'argent mais LENGOW fait l'autruche et n'a même pas la bienséance de répondre (rapidement serait trop) et de prendre soin (au moins pour la forme) du client. Quand on sait comment un e-commerçant doit se plier en 4 pour conserver sa clientèle et que LENGOW avait juste à m'offrir 2 mois, je rigole bien. Pour ma part, quand COLISSIMO se plante, c'est nous qui assumons et réparons, parce que le commerce c'est ça. Je reste à votre écoute en MP ou autre pour discuter plus longuement de mon expérience ratée chez LENGOW. Pour ceux qui penserait que je ne suis pas objectif, je reste aussi à votre disposition pour vous transmettre les preuves mentionnées plus haut. Et croyez-moi, je vous ai raccourci l'histoire. Pour avoir discuté avec d'autres collègues, LENGOW est intransigeant , et je ne suis pas le seul à avoir ce ressenti....
  11. Bonjour Sylvain, C'est entièrement vrai :-) Mais je cherche la possibilité de faire ce tri justement . La partie "comportement" de Analytics le permet-elle ?
  12. Bonjour, Mon site de E-commerce est géré par des developpeurs. Mon site www.monsite.com renvoie vers www.monsite.com/fr (en prévision d'un futur /en) Mon SiteMap est le suivant : www.monsite.com/1_index_sitemap.xml Cette URL correspond au fichier sitemap maître et fait référence aux fichiers suivants : 1_fr_0_sitemap.xml 1_en_0_sitemap.xml Il semblerait donc que mes URL indexées par Google soient doublées du coup (FR et EN). Pour rien, car la version EN n'est pas prévue. Peut-on pas avoir un site map dans www.monsite.com/fr plutôt que www.monsite.com ou faut-il laisser le sitemap dans www.monsite.com mais supprimer la version /EN ? Merci d'avance :-)
  13. Bonsoir, Merci de l'aide, je transmettrai aux développeurs directement qui ont l'accès... merci. Ce n'est pas pour mettre dans toutes les URL. C'était un test avant d'optimiser certaines URL de catégories vraiment non explicites.... En ne le faisant que pour une à chaque fois pour éviter le duplicate bien entendu .....
  14. Bonjour, Petite question : Exemple : 200 produits d'une sous catégorie par exemple. - Description courte quasi similaire (exemple : 200 tissus identiques en terme de matière, épaisseur, prix) - Description longue différente car le motif lui diffère. Les fiches produits seront Assimiléss Duplicate à votre avis ?
  15. Bonjour, Je viens de tester un changement d'URL manuel d'une sous-catégorie avec ajout du mot-clé "mercerie" (avant de le faire sur tout le site...) Ancienne URL : http://www.monsite.com/fr/418-rubans-couture-cotons Nouvelle URL : http://www.monsite.com/fr/418-mercerie-rubans-couture-cotons Quand on tape l'ancienne URL sur google, on est redirigé vers la catégorie mais avec l'URL suivant : http://www.monsite.com/fr/418-mercerie-rubans-couture-cotons/418-cotons-couture-rubans Est-ce normal ? Est-ce juste pour signaler à l'internaute une redirection ? ps : Dans le BO Prestashop > pref / SEO Rediriger vers l'URL canonique = 301 Merci !
  16. Merci pour cette réponse claire. Je pensais surtout utilisé les mots-clés secondaires dans la description longue de la fiche produit mais si on peut en placer dans les h1, cela ne sera que mieux, en effet.
  17. Merci Johann. Néanmoins, sauf erreur de ma part, et même sans remplir la balise titre, celle ci apparaît quand même en code source... Si l'on ne souhaite pas de variantes, faut-il alors malgré tout doubler : Nom produit & Balise titre ?
  18. Bonjour, Une question en 2 points pur SEO. Balise titre vs nom du produit 1/ Est-il nécessaire de remplir la balise Titre si le nom de notre produit est assez complet et comporte les mots clés nécessaires ? Est-ce pénalisant de ne pas la remplir car en regardant le code source on se rend compte que le titre est quand même remplit... 2/ A l'inverse, dans le cas ou le nom d'un produit est incomplet, si l'on modifie uniquement la balise titre , est-ce suffisant en SEO ou la modification du nom de produit est quand même (aussi) nécessaire. Qui prime ? (Je ne parle pas de l'URL). Merci pour votre retour. :-)
  19. Bonjour, Avez-vous appelé le SAV expeditor ? Les techniciens sont supers actifs.
  20. J'espère que cela sera pris en compte, mais cela demande une grosse mise à jour. Pour information, le CA est faussé, évidemment. Dans le cas d'un remboursement partiel, on ne peut même pas choisir le mode de paiement utilisé pour le remboursement. La comptable s'arrache les cheveux. Je suis d'accord.
  21. Bonjour, Nous avons le même soucis. Je ne vois pas l'utilité de ce remboursement partiel si ce n'est d'avoir une trace quand on revient sur la commande. (Il est mentionné).. Pour le reste, quand je rembourse via CB, il y a une trace forcément sur le compte bancaire pour la compta.
  22. Bonjour à tous, Je souhaite passer à la gestion des stocks avancée. J'ai tout configuré pour. J'ai 2 000 articles en boutique. Comment récupérer le stock actuel pour le passer en avancé ? Car quand je décoche dans la fiche produit " Définir mes quantités manuellement" et que je coche "Les quantités disponibles pour le produit sont basés sur le stock de votre entrepôt" alors la quantité du produit passe à 0 N'est-il pas possible de récupérer la quantité du stock automatiquement ? Merci à vous.
×
×
  • Create New...

Important Information

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