Jump to content

canel

Members
  • Posts

    259
  • Joined

  • Last visited

Everything posted by canel

  1. Bonjour à toutes et à tous, Je viens de me rendre compte d'un problème sur mon site. En effet j'utilise le module Navigation à facette et je viens de me rendre compte que sur une liste déroulante de caractéristiques j'ai 2 ou 3 choix qui ne se mémorise pas, c'est à dire que quand je vais sur une fiche produit et que je retourne en arrière mon choix n'est plus mémorisé et du coup il m'indique 0 produits. Et cela que sur IE bien évidemment.... J'ai mis à jour le module mais cela n'a rien changé. Je suis sur Presta 1.6.1.17 :-/ Quelqu'un a déjà rencontré ce problème ?? Merci
  2. Bonjour, J'ai exactement la même question, quelqu'un pour m'aider ?
  3. oui je vais le faire d'abord sur mon serveur de test avant de le faire en ligne :-) Merci
  4. Merci de ta réponse doekia, comme je le disais n'ayant jamais fait ça effectivement je ne sais pas quelles informations il faut exactement. Merci de me les avoirs demandé ;-) Je suis sur une version 1.6.1.17, dans ma table ps_product j'ai repéré le champ uploadable_files. Énormément de produit on un champ personnalisable avec 2 téléchargement mais je n'en ai plus besoin. Mon commentaire pour les produits avec 3 champs c'était pour information au cas où... car je me répète n'ayant jamais fait ça.....
  5. Bonjour à tous ! Je recherche à faire une requête mysql pour indiquer à mon catalogue produit que tout les produits ayant dans la base Uploadad_files à 2 soient mis à 0, sauf ceux qui sont à 3 qui doivent rester à 3 N'ayant jamais fais ça pouvez-vous m'aider ? Merciiii
  6. Merci de ta réponse. Je suis peut-être arrivé à quelque chose mais cela a été galère. j'ai remarqué dans l'admin que les positions ne se suivaient pas, par exemple 1-2-3-4-6-8-9-10 Je me suis dit que ça pouvait être le problème, du coup dans la bdd dans la table ps_attribute j'ai modifié les positions, par exemple il me manquait la 7 j'ai utilisé la dernière valeur qui était en position 1054 et je lui ai mis 6 (tjrs 1 de moins que la position réelle car la bdd commence à 0) et ainsi de suite. Bien galère car il faut regarder l'id de l'attribut etc.... mais maintenant en admin quand je range ça marche !!
  7. Bonjour, Je m'aperçois que sur la version 1.6.1.17 sur certains attributs l'ordre des valeurs ne s'enregistre pas. Il revient par ordre de création dès que la page est rechargé. Avez-vous réussi à résoudre votre problème ?
  8. Bonjour dominical ! Je n'ai tjrs pas réussi à résoudre le problème, enfin surtout je n'ai pas réussi à trouver le problème :-) Une bonne âme pour m'aiguiller ?
  9. J'ai réuploadé ma bdd c'est peut-être pour ça tu étais là à ce moment :-) Mais c'est vrai que ça met plus d'une minute pour charger... Je n'en peux plus je ne sais plus où chercher
  10. Bonjour à tous et à toutes, Je viens vers car je ne sais plus où chercher. J'ai un site que j'ai mis sur un serveur premium de PHPNet afin de tester un thème et une mise à jour d'un presta 1.4 vers 1.6. J'ai désactiver déjà certains modules mais il reste super lent pour la home seulement... j'ai joué avec les caches, la réécriture d'url etc mais cela n'a rien changé... Vous auriez peut-être une idée svp ? Voici le lien : http://p3256.phpnet.org/natusport/ Merci d'avance
  11. ah ok alors pourquoi il n'apparait pas ni sur le front ni dans le listing des positions ?
  12. Merci Gnast, J'ai remplacé le code, désinstaller le module, réinstaller et au moment de le greffer j'ai "Ce module a déjà été transplanté sur ce hook."
  13. bon définitivement je vais pas y arriver, ça parait tout simple mais je bute... [PrestaShop] Fatal error in module Module.php(1224) : eval()'d : Cannot redeclare Blocktopmenu::hookDisplayTop()
  14. J'ai mis ton code dans un fichier nommé blocktopmenu.php en override dans mon thème. J'ai laissé mes autres codes. Quand je veux greffé le module à l'emplacement j'ai le message : Ce module a déjà été transplanté sur ce hook. :angry: :angry:
  15. Merci Gnast, oui je suis en local donc pas de soucis. Oui j'ai bien greffé mon module, je ne comprend pas ta dernière phrase, parce que dans le tpl tu as ajouter ton hook.... ? Je l'ai dégreffé de son hookTop donc il ne devrait s'afficher que dans le hookMenuhaut
  16. Bonjour tout le monde ! Bon je m'arrache les cheveux depuis hier, j'ai suivi au moins une dizaine de tuto mais j'ai décidé de faire ma blonde.... Je souhaite mettre le module Menu Horizontal dans un nouveau Hook, actuellement il est placé sur le hook TOp (thème par défault bootstrap) Je récapitule ce que j'ai fait : Dans le fichier blocktopmenu.php, j'ai ajouté à la ligne 66 !$this->registerHook('menuHaut') : public function install($delete_params = true) { if (!parent::install() || !$this->registerHook('header') || !$this->registerHook('menuHaut') || !$this->registerHook('actionObjectCategoryUpdateAfter') || Ensuite plus bas j'ai ajouté : public function hookMenuHaut($params) { return $this->hookHeader($params); } Après dans mon thème header.tpl j'ai fait appel à mon hook : {hook h='menuHaut'} J'ai désinstallé le module puis réinstaller, hourra dans les positions j'ai bien menuHaut ! Sauf qu'il ne s'affiche pas en front. Si j'active sa position par défaut c'est à dire DisplayTop là il s'affiche 2 fois ! si je le dégreffe de displayTop il ne s'affiche plus du tout..... Aidez-moi svp !!!!
  17. Je cherche également mais je n'ai pas encore trouvé... J'ai appelé Paypal mais je tombe toujours sur quelqu'un qui ne comprend pas ce que je veux... si quelqu'un à plus de chance que moi je suis preneuse...
  18. Bonjour, J'ai la même question, personne n'a d'idées ? C'est très problématique... Merci
  19. Bonjour, Thomaspoulain j'ai exactement les mêmes problèmes que toi dans les fiches produits en admin. Comment as-tu résolu ton problème stp ? Merci
  20. Pour ma part j'ai modifié le fichier blockcategories.php qui est dans le dossier du module, à la ligne 135 (public function getTree($resultParents, $resultIds, $maxDepth, $id_category = null, $currentDepth = 0)) jusqu'à la ligne 374 ( $this->_clearBlockcategoriesCache();} ) j'ai remplacé le code par celui-ci : public function getTree($resultParents, $resultIds, $maxDepth, $id_category = null, $currentDepth = 0) { if (is_null($id_category)) $id_category = $this->context->shop->getCategory(); $children = array(); if (isset($resultParents[$id_category]) && count($resultParents[$id_category]) && ($maxDepth == 0 || $currentDepth < $maxDepth)) foreach ($resultParents[$id_category] as $subcat) $children[] = $this->getTree($resultParents, $resultIds, $maxDepth, $subcat['id_category'], $currentDepth + 1); if (!isset($resultIds[$id_category])) return false; $return = array('id' => $id_category, 'link' => $this->context->link->getCategoryLink($id_category, $resultIds[$id_category]['link_rewrite']), 'name' => $resultIds[$id_category]['name'], 'desc'=> $resultIds[$id_category]['description'], 'children' => $children); return $return; } public function hookLeftColumn($params) { if (!$this->isCached('blockcategories.tpl', $this->getCacheId())) { // Get all groups for this customer and concatenate them as a string: "1,2,3..." $groups = implode(', ', Customer::getGroupsStatic((int)$this->context->customer->id)); $maxdepth = Configuration::get('BLOCK_CATEG_MAX_DEPTH'); if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT DISTINCT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite FROM `'._DB_PREFIX_.'category` c INNER JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.(int)$this->context->language->id.Shop::addSqlRestrictionOnLang('cl').') INNER JOIN `'._DB_PREFIX_.'category_shop` cs ON (cs.`id_category` = c.`id_category` AND cs.`id_shop` = '.(int)$this->context->shop->id.') WHERE (c.`active` = 1 OR c.`id_category` = '.(int)Configuration::get('PS_HOME_CATEGORY').') AND c.`id_category` != '.(int)Configuration::get('PS_ROOT_CATEGORY').' '.((int)$maxdepth != 0 ? ' AND `level_depth` <= '.(int)$maxdepth : '').' AND c.id_category IN (SELECT id_category FROM `'._DB_PREFIX_.'category_group` WHERE `id_group` IN ('.pSQL($groups).')) ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'cs.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC'))) return; $resultParents = array(); $resultIds = array(); $isDhtml = (Configuration::get('BLOCK_CATEG_DHTML') == 1 ? true : false); foreach ($result as &$row) { $resultParents[$row['id_parent']][] = &$row; $resultIds[$row['id_category']] = &$row; } $blockCategTree = $this->getTree($resultParents, $resultIds, Configuration::get('BLOCK_CATEG_MAX_DEPTH')); unset($resultParents, $resultIds); $this->smarty->assign('blockCategTree', $blockCategTree); if (file_exists(_PS_THEME_DIR_.'modules/blockcategories/blockcategories.tpl')) $this->smarty->assign('branche_tpl_path', _PS_THEME_DIR_.'modules/blockcategories/category-tree-branch.tpl'); else $this->smarty->assign('branche_tpl_path', _PS_MODULE_DIR_.'blockcategories/category-tree-branch.tpl'); $this->smarty->assign('isDhtml', $isDhtml); } $id_category = (int)Tools::getValue('id_category'); $id_product = (int)Tools::getValue('id_product'); if (Tools::isSubmit('id_category')) { $this->context->cookie->last_visited_category = (int)$id_category; $this->smarty->assign('currentCategoryId', $this->context->cookie->last_visited_category); } if (Tools::isSubmit('id_product')) { if (!isset($this->context->cookie->last_visited_category) || !Product::idIsOnCategoryId($id_product, array('0' => array('id_category' => $this->context->cookie->last_visited_category))) || !Category::inShopStatic($this->context->cookie->last_visited_category, $this->context->shop)) { $product = new Product((int)$id_product); if (isset($product) && Validate::isLoadedObject($product)) $this->context->cookie->last_visited_category = (int)$product->id_category_default; } $this->smarty->assign('currentCategoryId', (int)$this->context->cookie->last_visited_category); } $display = $this->display(__FILE__, 'blockcategories.tpl', $this->getCacheId()); return $display; } protected function getCacheId($name = null) { parent::getCacheId($name); $groups = implode(', ', Customer::getGroupsStatic((int)$this->context->customer->id)); $id_product = (int)Tools::getValue('id_product', 0); $id_category = (int)Tools::getValue('id_category', 0); $id_lang = (int)$this->context->language->id; return 'blockcategories|'.(int)Tools::usingSecureMode().'|'.$this->context->shop->id.'|'.$groups.'|'.$id_lang.'|'.$id_product.'|'.$id_category; } public function hookFooter($params) { // Get all groups for this customer and concatenate them as a string: "1,2,3..." if (!$this->isCached('blockcategories_footer.tpl', $this->getCacheId())) { $maxdepth = Configuration::get('BLOCK_CATEG_MAX_DEPTH'); $groups = implode(', ', Customer::getGroupsStatic((int)$this->context->customer->id)); if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT DISTINCT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite FROM `'._DB_PREFIX_.'category` c '.Shop::addSqlAssociation('category', 'c').' LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.(int)$this->context->language->id.Shop::addSqlRestrictionOnLang('cl').') LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = c.`id_category`) WHERE (c.`active` = 1 OR c.`id_category` = 1) '.((int)($maxdepth) != 0 ? ' AND `level_depth` <= '.(int)($maxdepth) : '').' AND cg.`id_group` IN ('.pSQL($groups).') ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'category_shop.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC'))) return; $resultParents = array(); $resultIds = array(); foreach ($result as &$row) { $resultParents[$row['id_parent']][] = &$row; $resultIds[$row['id_category']] = &$row; } //$nbrColumns = Configuration::get('BLOCK_CATEG_NBR_COLUMNS_FOOTER'); $nbrColumns = Configuration::get('BLOCK_CATEG_NBR_COLUMN_FOOTER'); if (!$nbrColumns) $nbrColumns = 3; $numberColumn = abs(count($result) / $nbrColumns); $widthColumn = floor(100 / $nbrColumns); $this->smarty->assign('numberColumn', $numberColumn); $this->smarty->assign('widthColumn', $widthColumn); $blockCategTree = $this->getTree($resultParents, $resultIds, Configuration::get('BLOCK_CATEG_MAX_DEPTH')); unset($resultParents, $resultIds); $isDhtml = (Configuration::get('BLOCK_CATEG_DHTML') == 1 ? true : false); $id_category = (int)Tools::getValue('id_category'); $id_product = (int)Tools::getValue('id_product'); if (Tools::isSubmit('id_category')) { $this->context->cookie->last_visited_category = $id_category; $this->smarty->assign('currentCategoryId', $this->context->cookie->last_visited_category); } if (Tools::isSubmit('id_product')) { if (!isset($this->context->cookie->last_visited_category) || !Product::idIsOnCategoryId($id_product, array('0' => array('id_category' => $this->context->cookie->last_visited_category)))) { $product = new Product($id_product); if (isset($product) && Validate::isLoadedObject($product)) $this->context->cookie->last_visited_category = (int)($product->id_category_default); } $this->smarty->assign('currentCategoryId', (int)($this->context->cookie->last_visited_category)); } $this->smarty->assign('blockCategTree', $blockCategTree); if (file_exists(_PS_THEME_DIR_.'modules/blockcategories/blockcategories_footer.tpl')) $this->smarty->assign('branche_tpl_path', _PS_THEME_DIR_.'modules/blockcategories/category-tree-branch.tpl'); else $this->smarty->assign('branche_tpl_path', _PS_MODULE_DIR_.'blockcategories/category-tree-branch.tpl'); $this->smarty->assign('isDhtml', $isDhtml); } $display = $this->display(__FILE__, 'blockcategories_footer.tpl', $this->getCacheId()); return $display; } public function hookRightColumn($params) { return $this->hookLeftColumn($params); } public function hookHeader() { $this->context->controller->addJS(_THEME_JS_DIR_.'tools/treeManagement.js'); $this->context->controller->addCSS(($this->_path).'blockcategories.css', 'all'); } private function _clearBlockcategoriesCache() { $this->_clearCache('blockcategories.tpl'); $this->_clearCache('blockcategories_footer.tpl'); } public function hookCategoryAddition($params) { $this->_clearBlockcategoriesCache(); } public function hookCategoryUpdate($params) { $this->_clearBlockcategoriesCache(); } public function hookCategoryDeletion($params) { $this->_clearBlockcategoriesCache(); } public function hookActionAdminMetaControllerUpdate_optionsBefore($params) { $this->_clearBlockcategoriesCache(); } Pour ma part ça fonctionne !
  21. Alors pour ma part je suis en 1.5.6, la solution que j'ai trouvé et qui marche : Allez dans le fichier classes > modules > Module.php Remplacé la ligne 206 if (version_compare(_PS_VERSION_, $this->ps_versions_compliancy['min']) < 0 || version_compare(_PS_VERSION_, $this->ps_versions_compliancy['max']) >= 0) par if (version_compare(_PS_VERSION_, $this->ps_versions_compliancy['min']) < 0 || version_compare(_PS_VERSION_, $this->ps_versions_compliancy['max']) > 0) J'espère que ça vous aidera
  22. Bon je n'ai pas l'impression qu'on est eu le même problème valbronf ! Pour ma part cela ne jouait que sur les factures avec un montant problématique lors de la TVA puisque la génération des factures PDF ne prend en compte que 2 chiffres après la virgule il me transformait 40 € TTC en 39,99 TTC car en hors taxe cela donne 33,4448 donc pour une gestion d'arrondi à 5 chiffres on doit bien avoir 33,45 HT soit 40 TTC mais si le logiciel ne prend que 2 chiffres après la virgule il n'arrondi pas à 33,45 mais reste à 33,44 donc ça donne 39,99 TTC Pour ma part j'ai enfin trouvé le souci et j'espère que cela aidera d'autres personnes ! A mon avis je ne suis pas la seule, faites un test mettez un produit à 40 € !!! lol Il faut allez dans le fichier order.php qui se trouve dans le dossier classes : ligne 446 remplacer le chiffre 2 par 6 (ou 5...) soit : $row['product_price'] = Tools::ps_round($row['product_price'], 6); Pour moi ça fonctionne à merveille !
  23. Bonjour, Suite à une mise à jour de prestashop vers la 1.4.11 je me rend compte d'un problème. J'ai un produit qui est à 40 € TTC sur mon site. Par contre sur ma facture il descend à 39,99 € TTC D'après mes recherches j'ai l'impression que c'est un problème d'arrondi : > dans la fiche produit PS prend en compte 4 chiffres après la virgule ce qui fait que mon produit HT est à 33,4448 ce qui l'arrondi à 40 € TTC logique. > Par contre si on ne prend que 2 chiffres après la virgule soit 33,44 on a bien 39,99 TTC Comment puis avoir la facture PDF du même montant que sur ma fiche produit ? Merci
×
×
  • Create New...

Important Information

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