Jump to content

Module menu déroulant vertical [v0.6]


ScaleDEV

Recommended Posts

Bonjour,

Je suis actuellement en cours de création d'un module pour afficher les catégories sous la forme d'un menu déroulant.

Dès que le module sera fonctionnel je vous donnerais le lien de téléchargement en espérant avoir de l'aide pour corriger les bugs qu'il pourrait avoir ;)

Pour le moment c'est en bonne voie :)

EDIT : Fichier ZIP mis à jour en date du 16/08/2010

blockcategoriesmdi.zip

Link to comment
Share on other sites

Je vais utiliser CSS et javascript

Après niveau compatibilité, j'ai testé avec opéra, mozilla et ie7 => ça marche mais je dois terminer les gestion des sous menu

edit :
j'ai regardé son module mais ce n'est pas tout à fait la même chose, le mien pourra venir en remplacement du module blockcategories d'origine de PS donc remis à jour de la même façon

Link to comment
Share on other sites

Bonjour @ tous

J'ai un soucis dans le développement de mon module.

J'ai créé une fonction ( public function RecupSousCategories($xxx,$yyy) ... ) et lorque j'appel cette fonction dans mon script j'ai une erreur "Internal Server Error 500"

ci dessous mes 2 fonctions en rapport dans le script des fois que :

Code supprimé car problème résolu 


Merci d'avance de votre aide surtout que je débute sur PrestaShop :P

Link to comment
Share on other sites

Problème de fonction résolu par moi même :)

Maintenant le script est presque terminé, il me reste à voir un bug dans le fichier JS
à mon avis je penche pour un conflis de variable ou de fonction en javascript

je vous tiens informé de l'avancement

Link to comment
Share on other sites

Module fonctionnel dès aujourd'hui

Il reste à corriger un bug avec firefox et safari
Ce bug n'existe pas sur le code d'origine mais avec le template de presta d'origine le menu est en décalé à partir du 2eme niveau, donc si certains veulent aider à débuguer ce projet et à l'améliorer ils sont les bienvenus ;)

Ci-joint le module au format ZIP

Link to comment
Share on other sites

menu sympa

Ne fonctionne pas bien sous chrome: un seul niveau de sous menu affiché et lorsque un lien est activé on ne peut utiliser les autres liens


+1 je confirme ce que dit jolvil idem sous FF3.

Merci pour cette contribution et bonne continuation.
Link to comment
Share on other sites

Bonjour

Peut-on voir un exemple en live ?

Est-ce que tu gères les sous-menus en full Javascript ou est-ce que tu travailles sur les attributs CSS pour afficher/masquer les sous-menus ? Je pose la question car il y a deux manières d'envisager un menu déroulant :
* soit il est "SEO friendly" (c.à.d basé sur du code XHTML propre et "animé" via du javascript ; toutes les catégories sont visibles par les moteurs)
* soit seul le premier niveau est suivable par les moteurs (les sous-catégories ne sont visibles que par les visiteurs, pas par les robots des moteurs)


La seconde solution peut avoir une grande utilité par exemple sur les sites avec de très nombreuses catégories, car avoir 70 ou 80 liens de catégories sur toutes les pages d'un site n'est pas forcément une bonne solution d'un point de vue référencement. Dans ce cas précis il sera plus intelligent de travailler par niveaux/sous-niveaux ;-)

Link to comment
Share on other sites

Voici un exemple live (ma boutique en cours de construction) :
www.boutique-mdi.com

Les menus sont calculés en full javascript mais pourquoi pas utiliser ta solution en CSS qui serait certainement bien mieux compatible avec les navigateurs

Concernant les bugs sous chrome je vais tester le pourquoi ça ne passe pas, mais je sais que seul le template d'origine de PS passe "relativement bien" avec le module :)
=> edit : je viens de tester c'est le même bug qu'avec firefox, et safari ==> donc à corriger d'urgence ;)

Merci de vos retours

Link to comment
Share on other sites

je viens d'essayer le menu en dehors de prestashop il passe sur tous les navigateurs sans aucun problème
Ma première idée est la bonne, le bug doit apparaître à cause d'un

ou autre qui serait autour du menu...

Donc je pense qu'il va falloir adapter le code javascript vis à vis des
qui sont autour du menu et qui font parti de prestashop
si quelqu'un se sent de me donner un coup de main à trouver le moyen de débuguer ça ;)
Link to comment
Share on other sites

Hello,

Vraiment bien ce module, j'ai regardé un peu la partie javascript, bon j'ai pas tout tout compris mais effectivement ça marche très bien.
Super travail !

Juste pour comprendre le principe pour que je voie le concept, comment ça fonctionne en gros est-ce que l'on fait ceci, dans le fichier .tpl on lit le parent, et on lit la(les) catégories enfants (tous les enfants sont masqués dans des div) avec un z-index.
Ensuite dans javascript lors du positionnement sur l'enfant on fait afficher le div...

A bientôt

Link to comment
Share on other sites

Merci pour vos commentaires

Pour répondre à m1bs :
Je lis toutes mes données dans des variables tampons dans le fichier .php ensuite j'envoi les variables tampons vers le .tpl
Mon fichier php est pour le moment une "moulinette" et je vais l'améliorer pour les performances petit à petit.
Effectivement les div enfant sont cachés à l'aide de l'appel js fais après l'affiche du menu parent.
Le script gère normalement les urls "https" => à tester :)

Ensuite je compte pouvoir gérer depuis le back office la profondeur maxi du menu, si il y en a qui ont d'autres idées d'amélioration je suis preneur

Bon courage à tous dans vos développements ;) et sur ce bonne nuit

Petit edit avant de dormir : le module peut être adapté en menu horizontal (c'est déjà programmé dans le JS), je sortirais peut être l'équivalent pour afficher le menu horizontal en haut du site

Link to comment
Share on other sites

Ah oui, sympa ça !

Tu sais, en fait quand tu as de nombreuses catégories, du moment que tu affiches les sous-catégories dans chaque page catégorie "mère" (je sais pas si je suis clair ;-) ) tu n'as pas forcément besoin d'avoir tous les liens "en dur" dans le code vers toutes les catégories et sous-catégories.

Car comme je le disais, ça peut défavoriser le positionnement des pages produits en prenant un poids sémantique trop important (densités de mots-clés, par exemple si plusieurs catégories ont des mots en commun dans leur nom...)

C'est du pinaillage mais ça peut avoir son importance, et surtout ça peut accessoirement simplifier l'accessibilité du site aux personnes handicapées visuelles (elles ne voyent que les catégories "mères" et ne se fadent pas les 50000 sous-catégories sur chaque écran ;-) )

Beau boulot, si en plus ça fonctionne sur IE6 ! Mon menu full CSS est encore un poil bugué sur ce p... de navigateur :-S (en fait ne vient pas du menu lui-même mais de l'habillage des éléments de base ! Mais bon c'est pas trop urgent pour le moment donc je laisse couler)

Link to comment
Share on other sites

Cédric => faut le bruler c p... de navigateur ;) et je bosse sur Safari et FF3 ça plante moins souvent
Troyer ça fais 45mn de route c'est pas loin du tout dis donc, sinon vendeuvre c pas dans le calvados ? Si oui quand tu passe sur chalons pense à me déposer une ptite bouteille :)

Le module passe sur quasi tous les navigateurs, et il devrait même passer sur IE5 (à vérifier) si quelqu'un à encore ce dinosaure lol

Link to comment
Share on other sites

Non non, Vendeuvre/Barse c'est dans l'Aube, à l'est des Lacs de la Forêt d'Orient (j'habite dans le Parc Naturel en fait) ; si tu cliques dans ma signature sur "photographe professionnel", tu verras quelques unes de mes photos faites localement (pas toutes mais la plupart)

Sinon début 2008 j'ai sorti un livre sur notre belle région ;-)


Enfin bon, je ferme la parenthèse ! Pour les tests des anciens IE, j'utilise IETester, pas hyper stable mais permet de voir le résultat facilement sur toutes les versions d'IE, de la 5.5 à la 8.0 beta :)

Link to comment
Share on other sites

Pourtant j'ai déjà fais un client y a pas longtemps avec win95 et IE5, ça fais peur mais ça existe encore

cédric => autant pour moi, comme je connais une ville vers la bas qu'il s'appel pareil ;)
vu que tu as commencé un module de menu en haut de site, saurais-tu quel hook utiliser pour que le bloc s'affiche sur toutes les pages en haut ? Comme ça je vais sortir le module menu haut de site pour ce week end :)
(petite parenthèse : tes photos sont magnifiques !)

Link to comment
Share on other sites

(merci)

J'utilise le hook "Top"

Dans le blockcategories.php j'ai donc rajouté le code suivant :

   function hookTop($params)
   {
       return $this->hookLeftColumn($params);
   }



(en fait dans mon cas j'ai carrément viré les hooks pour les colonnes gauche et droite, vu que le menu ne peut plus s'afficher correctement à ces endroits...)

Link to comment
Share on other sites

Et voici une nouvelle version du module qui permet de régler le niveau maxi de votre menu

Sur ma boutique, j'ai bloqué à 4 par défaut, mais vous pouvez en mettre plus ou en mettre moins
Le minimum étant 1 :)

Merci de me faire vos retours de bugs si nécessaire ;)

Pour ludo : si tu passes par la, tu as le droit de prendre le module et de le mettre sur ta boutique de module en vente à 0€ ;)

  • Like 1
Link to comment
Share on other sites

Bonjour mdi51,

Je te remercie pour ton excellent module, très appréciable!
J'aimerai le "customiser" :coolsmile: un peu:

Pourrais-tu me dire comment (si cela est possible):
1) Supprimer ou changer de couleur les interlignes (voir capture(1))
2)Si il serait possible de midier l'icône de chaque catégorie, mais indépendamment les unes des autres (voir capture (2))
3)Si il est possible de modifier la couleur de fond des catégories au survol de celles-ci.

Merci par avance pour ta réponse, et bonne continuation!

Cordialement,

Mandrake.

4179_OyPwpigZlibtVAvGZCqu_t

Link to comment
Share on other sites

Merci pour vos commentaires
Tu peux tout personnaliser depuis les fichiers CSS à la base du module
Pour la racine des catégories c'est le fichier "ddlevelsmenu-base.css"
Pour les sous menus c'est le fichier "ddlevelsmenu-sidebar.css"

Concernant la modification des icones c'est possible mais il faudrait le gérer dynamiquement depuis le php hors mon code ne le prévoit pas ( je note dans le todo ;) )

Le fichier "ddlevelsmenu-topbar.css" servira dans une prochaine version ou l'on pourra choisir l'affichage du menu en haut du site ou dans un block ;)

Link to comment
Share on other sites

Mandrake pour ton point n°1 tu peux changer dans:

modules/blockcategoriesmdi/ddlevelsmenu-sidebar.css et tu modifie la ligne n°26 "border-bottom:1px solid #B5B5B5;" et tu remplace B5B5B5 par le code couleur que tu désires.

Pour le point n°2 je ne sais pas.

Link to comment
Share on other sites

Bon ca doit être l'heure .. quand on met un module dans le répertoire d'un autre .. ca peux pas marcher ...

Donc je l'ai retrouvé .. en revanche, peut on le mettre à un endroit précis car le mien est tout an bas de la colonne de gauche en dessous des modes de paiement ?

Merci

Link to comment
Share on other sites

Bon cela étant je rencontre encore un soucis ....

Lorsque je clique sur les catégorie, j'ai renvois la la racine de mon site www.colorpix.fr
Je n'ai pas ce problème sur les sous catégories ni sur le module de catégorie d'origne prestashop ...

Heu désolé je sèche encore ...

Par contre en tatonant j'ai réussi à changer les couleurs comme je le voulais
juste une autre question, comment insérer un commentaire dans une CSS pour qu'il ne soit pas pris en compte !

Merci ..

Sur ce DODO .. a demain !

Link to comment
Share on other sites

juste une autre question, comment insérer un commentaire dans une CSS pour qu'il ne soit pas pris en compte !


Commentaires CSS :
/* blablabla */



Ils ne sont pas imbricables. C'est-à-dire que :

/*
   blablabla
   blablabla
   /* blablabla */
   blablabla
*/


ne marche pas.

Link to comment
Share on other sites

Bonjour,

Normalement il apparaît dans le back office sans manip particulière...

Aviez-vous rafraîchi le B.O ?

Bonne journée,
Cordialement,

Mandrake.

Désolé mais les derniers posts viennent seulement d'apparaître après que le mien soit posté, donc votre question est déjà résolue à ce sujet....

Link to comment
Share on other sites

Salut @tous

lephos : Je ne vois pas d'où vient ton problème dans le menu, aurais-tu une adresse que je puisse regarder et voir d'où ça provient ?
zendik : merci de ton aide durant la nuit ;)

Que penseriez-vous de pouvoir saisir les codes couleur du menu directement dans le backoffice de PS ?

Concernant la mise en place d'une icone pour chaque catégorie, jy ai réfléchi un peu mais je ne vois pas comment faire vu que les catégories enregistrée peuvent avoir une image mais pas une icone ...
Ou alors j'avais pensé à pouvoir ajouter des icones dans le module mais pas liées à une catégorie mais à une position dans les catégories => admettons que l'on enregistre 10 icones sur 10 positions (1, 2, 3, ...) => le menu affiche les catégories et la première catégorie en partant du haut bénéficie de l'icone en position 1, la deuxième la 2 etc ... ==> Qu'en pensez-vous ?

Link to comment
Share on other sites

Que penseriez-vous de pouvoir saisir les codes couleur du menu directement dans le backoffice de PS ?


Très bonne idée.

Ou alors j'avais pensé à pouvoir ajouter des icones dans le module mais lié à une catégorie mais à une position dans les catégories => admettons que l'on enregistre 10 icones sur 10 positions (1, 2, 3, ...) => le menu affiche les catégories et la première catégorie en partant du haut bénéficie de l'icone en position 1, la deuxième la 2 etc ... ==> Qu'en pensez-vous ?


Ce peut être une solution, mais il faut bien sur que cela reste facultatif et non obligatoire pour celui qui ne veut pas mettre d'icône.
Link to comment
Share on other sites

Bonsoir mdi51 et fistou,

Quand je parlais d'icônes, cela pourrait aussi bien être des images, peu m'importe, c'est un détail...
Super l'idée des codes couleurs dans le BO, idem pour la seconde, du moment que c'est simple à mettre en appli... :)
Fistou tu as raison, il faudrait que cela reste facultatif au cas où (là je ne milite pas pour ma paroisse mais c'est ça aussi l'esprit communautaire ;-)

Sur ce , je vous souhaite une bonne journée bien remplie!

Cordialement,

Mandrake.

Link to comment
Share on other sites

Concernant les codes couleur, je vais faire ça les prochains jours si je trouve un peu de temps :)

Pour les icones, je vais attendre de trouver une autre solution pour que comme tu viens de me dire (fistou) ça puisse rester facultatif et surtout accessible à n'importe quel utilisateur car tout le monde ne connait pas le php css et compagnie ;)

Link to comment
Share on other sites

Whouah, un tel menu!! Bravo, je m'en sers de suite...
Une question: j'ai crée mes catégories en les faisant précéder d'un chiffre (pour l'ordre d'apparition), ce chiffre n'apparait pas dans le menu classique mais il apparait avec ce menu là; comment le faire disparaitre? Peut être une question pour Mandrake ;-) ;-)

Link to comment
Share on other sites

Bonjour Ganeish,

Mon pouvoir n'est qu'hypnotique, tous ceux qui ont déjà lus mes aventures le savent....Alors à moins d'intégrer au bloc un de mes gestes hypnotiques :gulp: , là je ne te serai d'aucune utilité....
Bonne journée,

Cordialement,

Mandrake.

Link to comment
Share on other sites

Voici ma réponse :

à la ligne 150 du fichier blockcategoriesmdi.php remplace par :

$lignes_menu_parent = $lignes_menu_parent.'>'.Category::hideCategoryPosition($categorie_parent['name']).'';



et normalement tout devrait fonctionner normalement
Je vais ajouter cette correction à ma prochaine version ;)

Link to comment
Share on other sites

Réponse pour "lephot"

J'ai bien reçu ton mp, aux lignes 9 et 10 du fichier ddlevelsmenu.js il faut que tu ajoute "/boutique/"
désolé de répondre ici mais je ne peux pas envoyer de MP ... ça n'envoit rien et ça n'enregistre rien non plus

Link to comment
Share on other sites

Bonjour,

Effectivement mon code ne peut gérer les url simplifiées
je vais ajouter ça à mon todo pour améliorer le tout ;)

Je ne garantis pas que ça sera fais rapidement car je suis en cours de déménagement (perso et entreprises)
donc beaucoup de boulot :)

@ bientôt

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

Merci, super menu :)
Par contre j'ai peut-être zapé un truc, mais j'ai désintaller le blockcatégorie pour mettre le tien, et maintenant, le menu se trouve en bas de la page sous "déja vu" "fabricants" et informations" . J'aimerais donc le fair remonter au dessus des 3 autres blocs ! Merci

Link to comment
Share on other sites

Module fonctionnel dès aujourd'hui

Il reste à corriger un bug avec firefox et safari
Ce bug n'existe pas sur le code d'origine mais avec le template de presta d'origine le menu est en décalé à partir du 2eme niveau, donc si certains veulent aider à débuguer ce projet et à l'améliorer ils sont les bienvenus ;)

Ci-joint le module au format ZIP


Bonjour

ou est passé le zip SVP - merci
Link to comment
Share on other sites

j'ai un petit soucis. PS n'est pas installé à la racine du site mais dans un sous répertoire "boutik" quel fichier dois je modifier car il me renvoi à la racine du site pour les catégories et non vers le répertoire "boutik" - merci

Link to comment
Share on other sites

suite ma demande post précédent

j'ai un petit soucis. PS n'est pas installé à la racine du site mais dans un sous répertoire "boutik" quel fichier dois je modifier car il me renvoi à la racine du site pour les catégories et non vers le répertoire "boutik" - merci


j'ai effectué cette modif

Réponse pour "lephot"

J'ai bien reçu ton mp, aux lignes 9 et 10 du fichier ddlevelsmenu.js il faut que tu ajoute "/boutique/"
désolé de répondre ici mais je ne peux pas envoyer de MP ... ça n'envoit rien et ça n'enregistre rien non plus


ça marche pour les sous catégories mais pas pour la catégorie "racine" qui lorsque que l'on clique dessus qui ramene à la racine du site et non sur le répertoire ou est installé PS à savoir "boutik"
Link to comment
Share on other sites

  • 2 weeks later...
  • 3 months later...

Salut,

Félicitations pour le module: il est très réussi!

Est-ce que tu sais pourquoi il ne marche pas avec la version 1.2?

Est-ce que quelqu'un sait ce que je dois faire pour le faire marcher?

merci d'avance

Bon travail

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

Pour Hedrad
Sur un autre poste j'ai eu la réponse !
Ajoute le nom du dossier de ton PS dans le fichier blockcategoriesmdi.php
vers ligne 143 sur l'adresse :
Ici shop est le nom du fichier de mon installation de PS!

$lignes_menu_parent = $lignes_menu_parent.'
Link to comment
Share on other sites

regreg, ta ligne de code me donne une erreur de parsing sur le module... (Prestashop, v1.2 finale)
Eric69, ta ligne de code fonctionne.

Par contre, pour réparer l'erreur de parsing, je suis obligé de remettre le code original, le tien (eric69) laisse l'erreur de parsing.

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 months later...

Bonjour TLM,

J'utilise ce menu vertical, sans problème.
J'avais besoin de ne PAS afficher toutes le catégories.
Donc voici la modif; cela peut interresser des PSnautes.

Installer le produit de notre ami MDI51.

editer le BlockCategoriesMDI.php

Apres le ligne 141

($NbSousCat = NbSousCategories($categorie_parent['id_category'])


ajouter un IF qui englobe la totalité de la récupération des catégories et leurs sous-catégories.

if(stristr($categorie_parent['name'], '_') === FALSE) 
{

}


A partir de la, toute catégorie qui commence par "_" NE SERA PAS LUE.




Maintenant une petite question:

Avec ce menu vertical,
Si quelqu'un sait comment trier les catégories autrement que par l'ordre Alphabétique.

Un peut comme avec le module livré avec PS.
Rajouter un nombre et un «.» devant le nom de la catégorie.
01.categorie
02.toto
03.titi
Etc…

Merci


a++

Link to comment
Share on other sites

  • 2 weeks later...

J'ai trouvé.
je nomme les catégories avec le .
ex 001.mapremierecategorie

puis je n'affiche que le texte après le point.

2 petites lignes de code dans blockcategoriesmdi.php

if(stristr($categorie_parent['name'], '.') === FALSE) // Cas de la chaine avec un .
{
   $lignes_menu_parent = $lignes_menu_parent.'>'.$categorie_parent['name'].'';
}
else
{
   $lignes_menu_parent = $lignes_menu_parent.'>'.substr($categorie_parent['name'],strpos ($categorie_parent['name'],'.') + 1,strlen($categorie_parent['name'])- strpos ($categorie_parent['name'],'.') + 1).'';
}



a++

et bon chiffre

Link to comment
Share on other sites

  • 5 months later...

Bonjour Henri,

Pourrais-tu nous fournir la bonne syntaxe pour l'url rewritte et la modif du lien en dur de mainmenu dans le php, STP ?

:-)

Pour Hedrad
Sur un autre poste j’ai eu la réponse !
Ajoute le nom du dossier de ton PS dans le fichier blockcategoriesmdi.php
vers ligne 143 sur l’adresse :
Ici shop est le nom du fichier de mon installation de PS!


$lignes_menu_parent = $lignes_menu_parent.’ 



[EDIT] Le forum mange toujours un bout du code.... Grrrr !!!!
[Re EDIT] Après plein de tentative, je me doute, que tu vois de quoi je parle alors si tu pourrais proposer la bonne syntaxe en url rewritte... avec http:.... server.... pis tout le reste Ce serait sensas

D'avance merci

Link to comment
Share on other sites

  • 1 month later...

Ce Menu vertical (voir http://www.prestashop.com/forums/viewthread/10394/P15/#48632) pourrait être tres sympa et fonctionel avc PS 1.3.1 mais il ne gere pas la réécriture URL des liens des categories et affiche les chiffres des classement pour les categories (1.categ... Il y a une modif qui marche pour les categories mais pas les sous categories).

Quelqu'un a t il réussi à le modifier ou saurait il rendre ce menu pleinement fonctionnel ?

ou indiquer les corrections à apporter?

Merci

Link to comment
Share on other sites

  • 1 month later...

Bonjour @ tous,

Me revoici sur le forum après une très longue absence (pour laquelle je m'excuse)

Merci à tous pour les débugs du module, je vous met tout de suite en page 1 et 1er message le nouveau zip du module avec certaines améliorations comme l'url rewriting (catégories et sous catégories)

@ très bientôt sur le forum

Link to comment
Share on other sites

  • 9 months later...

Hi, I'm looking for a nice module, run-out vertical menu category. I use this module http://led-tech.cz But it's not exactly it, and moreover it on my version of PrestaShop working less than ideal ... it is up to version 1.3.1.1. For example, does not display a nice url

Thanks for any idea

Link to comment
Share on other sites

  • 5 weeks later...
  • 5 months later...

Tout d'abord merci pour cette contrib très utile !

 

Petit up pour savoir si le problème d'url rewriting est fixé, car après plusieurs recherches, impossible de trouver une version du module fonctionnant avec l'url rewriting activé !

 

Merci d'avance

Prestashop 1.3.6

Link to comment
Share on other sites

  • 2 months later...
  • 5 weeks later...

Bonjour à tous,

 

C'est vraiment dommage, ce module est très bien mais l'url rewriting ne fonctionne effectivement pas (testé sur 1.3.7) donc au final il est plutôt inutilisable.

 

Si quelqu'un a trouvé la solution à ce problème merci de la partager. Si quelqu'un connaît un autre menu vertical du même style qui gère l'url rewriting je suis preneur aussi.

Link to comment
Share on other sites

  • 7 months later...
  • 2 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...