Samantha66 Posted August 10, 2011 Share Posted August 10, 2011 Bonjour, J'utilise la version 1.4.3 de Prestashop avec le module Navigation à facette 1.3 d'installé (super module, au passage). Tout fonctionne correctement lorsque je suis sur une page catégorie par contre si je vais sur ma page de marque (manufacturer.php), la fonction de tri (orderby-orderway) et la pagination (de base sous prestashop) ne fonctionne plus. Sous firebug, j'ai le message d'erreur : reloadContent is not defined, lorsque je choisis de faire un tri. Cette fonction js est bien appelée par le module Navigation a facette, mais je ne comprend pourquoi elle vient faire bugger mon tri de base. Et lorsque j'utilise la pagination je tombe sur une page 404. Quelqu'un a t-il une idée du problème ? Link to comment Share on other sites More sharing options...
Samantha66 Posted August 11, 2011 Author Share Posted August 11, 2011 Pour le problème au niveau de la pagination, c'était une erreur de ma part au niveau de l'url rewriting... Mais toujours le même problème la fonction de tri... Link to comment Share on other sites More sharing options...
Samantha66 Posted August 12, 2011 Author Share Posted August 12, 2011 J'ai enfin trouvé "une" solution au problème, pour ceux que ça intéresse : Dans le fichier product-sort.tpl vers la ligne 40, on a : <script type="text/javascript"> //<![CDATA[ $(document).ready(function() { $('#selectPrductSort').change(function() { var requestSortProducts = '{$request}'; var splitData = $(this).val().split(':'); {if Module::isInstalled('blocklayered')} reloadContent(); {else} document.location.href = requestSortProducts + ((requestSortProducts.indexOf('?') < 0) ? '?' : '&') + 'orderby=' + splitData[0] + '&orderway=' + splitData[1]; {/if} }); }); //]]> </script> Pour éviter ce problème il suffit d'enlever la condition : "Si le module BlockLayered existe, on appel la fonction reloadContent() On obtient donc : <script type="text/javascript"> //<![CDATA[ $(document).ready(function() { $('#selectPrductSort').change(function() { var requestSortProducts = '{$request}'; var splitData = $(this).val().split(':'); document.location.href = requestSortProducts + ((requestSortProducts.indexOf('?') < 0) ? '?' : '&') + 'orderby=' + splitData[0] + '&orderway=' + splitData[1]; }); }); //]]> </script> Et là ça fonctionne, mais je n'ai toujours pas compris pourquoi le module ne fonctionne pas sur ma page manufacturer...si quelqu'un a une idée... Link to comment Share on other sites More sharing options...
ultraxa Posted August 12, 2011 Share Posted August 12, 2011 il faut modifier le code dans le fichier product-sort.tpl du them ? j'utilise le theme matrice et je n'ai pas cette ligne et j'ai le probleme Link to comment Share on other sites More sharing options...
benwesh Posted September 22, 2011 Share Posted September 22, 2011 Bonsoir, J'ai aussi eu le problème du tri quelque soit le filtre saisi (par prix, par ordre alphabétique, etc.) et le problème provient de la fonction reloadContent du fichier blocklayered.js qui ne prend pas le bons paramètres de tri. $('#selectPrductSort').val() renvoie l'url (donc avec les paramètres de recherche : orderby et orderway) mais splitData (ligne 124) ne retourne pas les valeurs passées dans l'url, il crée le tableau en prenant comme séparateur de valeur ":", donc splitData[0] retourne "http". La solution que j'ai trouvée pour résoudre ce problème : - Ajouter une fonction JS qui permette de récupérer les clés et les valeurs passées dans l'url : function getParamURLValue(param,url) { var u = url == undefined ? document.location.href : url; var reg = new RegExp('(\\?|&|^)'+param+'=(.*?)(&|$)'); matches = u.match(reg); return matches[2] != undefined ? decodeURIComponent(matches[2]).replace(/\+/g,' ') : ''; } - Remplacer ligne 125 : data += '&orderby='+splitData[0]+'&orderway='+splitData[1]; par data += '&orderby='+getParamURLValue('orderby',$('#selectPrductSort').val())+'&orderway='+getParamURLValue('orderway',$('#selectPrductSort').val()); Je profite de ce post pour rappeler un autre bug rencontré pour gérer les filtres dans le backoffice pour blocklayered dont la solution a été apportée par Olecorre : Error JS in line 442 from blocklayered.php url: '.__PS_BASE_URI__.' + \'modules/blocklayered/blocklayered-ajax-back.php\', correction : url: \''.__PS_BASE_URI__.'\' + \'modules/blocklayered/blocklayered-ajax-back.php\', Link to comment Share on other sites More sharing options...
Swedge Posted September 28, 2011 Share Posted September 28, 2011 Bonjour, J'ai fait les changements de benwesh mais la page ne cesse de tourner en rond. Il est dit que pour : return matches[2] != undefined ? decodeURIComponent(matches[2]).replace(/\+/g,' ') : ''; matches is null You can disable/enable break notifications in panel's tab menu. Aurais tu une solution benwesh? Link to comment Share on other sites More sharing options...
abigael Posted October 3, 2011 Share Posted October 3, 2011 Bonjour, J'ai essayé aussi les modifications de benwesh. J'étais contente car ça me règle mes problèmes de pagination mais dès que je souhaite utiliser le filtre de couleur/taille/etc... cela ne fonctionne plus : j'ai la page qui se charge indéfiniment. Link to comment Share on other sites More sharing options...
Captain FLAM Posted October 6, 2011 Share Posted October 6, 2011 Seule solution viable : attendre quelques jours (car c'est une extension en dev non finalisée) et faire une MAJ en partant du SVN (PS 1.4.5.0) Link to comment Share on other sites More sharing options...
Kharfud Posted October 12, 2011 Share Posted October 12, 2011 Bonjour, En attendant, je ne comprends toujours pas comment ce module peut fonctionner avec toute autre page qu'une page catégorie... J'en ai besoin sur la page manufacturer.php mais il ne s'affiche pas. A la lecture du code, tout est calé sur une Category actuelle. Quelle est l'astuce implicite que tout le monde semble avoir utilisé ? Inclure d'une façon ou d'une autre l'affichage des produits d'une marque dans une catégorie ? Kharf' Link to comment Share on other sites More sharing options...
Kharfud Posted October 12, 2011 Share Posted October 12, 2011 Ah je crois qu' j'ai compris... Comme j'ai besoin des filtres sur toutes les catégories, il m'a suffit de commenter, ligne 757 : if ($id_parent == 1) return; De cette façon, dans le cas des marques, l'id de la catégorie est positionné par défaut sur 1 (Accueil) et le module peut faire sa petite cuisine et hooker les filtres. Très artisanal, tout ça... J'espère que la version finale et stable permettra plus de souplesse. Kharf' 1 Link to comment Share on other sites More sharing options...
Kharfud Posted October 12, 2011 Share Posted October 12, 2011 Pour être plus précis, j'ai dû remplacer toutes les mentions à: if ($id_parent == 1) return; par: $id_manufacturer = (int)Tools::getValue('id_manufacturer', 0); if ($id_parent == 1 && $id_manufacturer==0) return; Afin de prendre en compte les appels à la page manufacturer.php, et non plus seulement category.php. Mais ça ne règle rien du tout... l'ajax tourne, on se régale du gif de loading, puis.... plus rien. Tableau de produits désespérément vide, filtres inexistants. Sincèrement, s'il existe une façon simple d'utiliser ce module sur les pages marques, je bénis 3 fois la bonne âme qui saura me l'indiquer... Sur ce je file engloutir une ou deux boîtes d'anti-dépresseurs parce que, évidemment, c'est pour livrer dans deux jours. Projet de daube... Desperate Kharfud Link to comment Share on other sites More sharing options...
Captain FLAM Posted October 12, 2011 Share Posted October 12, 2011 Ce Block marche plutôt pas mal avec PS 1.4.5.0 que tu devras obtenir par le SVN Mais ceci implique l'updgrade vers cette version, étant donné qu'il y a de nombreux "Hooks" ajoutés Et de toute façon, il est bien signalé : En développement Link to comment Share on other sites More sharing options...
crea34 Posted October 13, 2011 Share Posted October 13, 2011 Ce Block marche plutôt pas mal avec PS 1.4.5.0 que tu devras obtenir par le SVN Mais ceci implique l'updgrade vers cette version, étant donné qu'il y a de nombreux "Hooks" ajoutés Et de toute façon, il est bien signalé : En développement Ce n'est pas la 1.5 ? j'ai beau fouiller je ne trouve rien sur cette version intermédiaire 1.4.5, la structure du futur thème m'intéresse grandement Link to comment Share on other sites More sharing options...
Captain FLAM Posted October 13, 2011 Share Posted October 13, 2011 http://www.prestashop.com/fr/downloads/#svn Link to comment Share on other sites More sharing options...
Kharfud Posted October 14, 2011 Share Posted October 14, 2011 J'ai jeté un oeil au code du nouveau module, il est carrément plus intelligent, et portable à toute page du site. Malheureusement, pas possible de commercialiser un site utilisant un PS instable... J'attendrai donc la prochaine release pour activer les filtres sur les pages marques. Link to comment Share on other sites More sharing options...
Kharfud Posted October 18, 2011 Share Posted October 18, 2011 OK, avec la 1.4.5.1 que j'ai mis 1 journée entière à mettre en place (spécifs sur modules/classes/controllers à merger avec les nouveaux), le bloc facettes fonctionne bien, les sliders aussi. Nickel. Mais... quid de la page marques (manufacturer.php) ? Existe-t-il un moyen d'utiliser les facettes sur d'autres pages que les pages catégories ? Une recherche par marques est d'une grande importance stratégique, pour un site de vente en ligne, ne serait-ce que pour le référencement des liens marques... Est-ce possible ou pas ? et si oui comment faire ? Des sites comme www.menlook.com utilisent un bloc a facettes sur des recherches par marques, sans souci (et avec le prix en prime, depuis pas mal de temps d'ailleurs). Dev ? Configuration ? Prières, offrandes et sacrifices rituels ? HELP !!! Kharf Link to comment Share on other sites More sharing options...
Kharfud Posted October 26, 2011 Share Posted October 26, 2011 J'ai créé un topic spécifique pour aborder mon problème : http://www.prestashop.com/forums/topic/138502-filtrer-les-produits-par-marque-et-par-categorie Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now