Modification du menu déroulant

6 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

J'aimerai pouvoir modifier à mon aise le menu déroulant. J'ai vu la fonction à modifier sur votre site, mais je ne parviens qu'à modifier une partie du menu. Seuls quelques liens sont modifiés.

Voici une copie de la fonction modifiée :

function construit_menu_arborescent_cat(&$sortie_cat, &$selectionne_cat, $parent_cat=0, $indent_cat=-1)

{

		 global $wwwroot, $catid, $repertoire_images;

		 $indent_cat +=1;

		 if(is_array($catid)) $catid=0;

		 // Recherche de tous les noeuds ayant $parent comme noeud parent

		 $qid = mysql_query("SELECT c.id, c.parent_id, c.nom_".$_SESSION['langue']." FROM peel_categories c INNER JOIN peel_sites_pivots sc ON (sc.categorie_id = c.id) WHERE c.parent_id = '$parent_cat' AND sc.site_id = '".intval($_SESSION['ecom']['id'])."' AND c.etat = '1' ORDER BY c.position");

		 // Si la requete a abouti

		 if($qid){

			// Pour toutes les entrées

			while($cat = mysql_fetch_array($qid)){

				  // Boucle pour ajouter l'indentation (une image vide)

				  // Pour aller plus loin on peut gérer des lignes de suite

				  for($i=0;$i<$indent_cat;$i++){

					  $sortie_cat .= "<img src=\"$wwwroot/images/mnu_empty.gif\" border=\"0\" alt=\"\" />";

				  }

				  // Recherche d'enfant pour d&eacute;terminer l'aspect de l'icone (feuille ou dossier)

				 $fils_cat = mysql_query("SELECT c.id, c.parent_id, c.nom_".$_SESSION['langue']." FROM peel_categories c INNER JOIN peel_sites_pivots sc ON (sc.categorie_id = c.id) WHERE c.parent_id = '".$cat['id']."' AND sc.site_id = '".intval($_SESSION['ecom']['id'])."' AND c.etat = '1' ORDER BY c.position");


				  $div_cat = mysql_num_rows($fils_cat);

				  // Si il y a des enfants

				  if ($div_cat) {

					  // Ajout de l'icone du dossier

					  $sortie_cat .= "<img src=\"$wwwroot/images/menplus.gif\" border=\"0\" alt=\"\" />&nbsp;";

					  // Ajout du lien (identiqueà construit menu)

					  $sortie_cat .= "<a class=\"menucat\" href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">";


					  // Test si le noeud est le noeud actif (id), si oui, ajoute du gras (plus visuel)

					  if($cat['id']==$catid) $sortie_cat .= "<b><div class=\"menucat\">";

					  // Ajoute le nom de la cat&eacute;gorie et d&eacute;bute un calque DIV ayant pour ID l'Id de la cat&eacute;gorie

					  $sortie_cat .=  html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);


					  $nb = calcul_nbprod_parcat($cat['id']);


					  if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; }


					 $sortie_cat .= "</a></b><br /><DIV class=\"menucat\" id=".$cat['id'];

					  // Recherche si le noeud fait partie de l'arborescence du noeud actif

					  parent_noeud_cat($cat['id'],$catid, $actif_cat=0);

					  // Si Oui,

					  if(($cat['id'] == $catid) || ($actif_cat == 1)){

						  // Rends le calque visible

						  $sortie_cat.= " style=\"display:yes\">\n";

					  }

					  else{

						  // Sinon, rends le calque invisible

						  $sortie_cat.= " style=\"display:none\">\n";

					  }

				  }

				  // Sinon, c'est un document 

				  else{

					  // Ajoute l'image du document

					  $sortie_cat .= "<img src=\"$wwwroot/images/menminus.gif\" border=\"0\" alt=\"\" />&nbsp;";

					  // Ajoute le lien (identique &agrave; construit_menu)

					  $sortie_cat .= "<a href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">";

					  // Si c'est la feuille active, la met en gras

					  if($cat['id']==$catid) $sortie_cat .= "<b>";

					  // Ajoute le nom

					  $sortie_cat .= html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);


					  $nb = calcul_nbprod_parcat($cat['id']);


					  if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; }


					   $sortie_cat .= "</a></b><br />";

				  }

				  // Si c'est un noeud (cat&eacute;gorie)

				  if($div_cat){

					 // Appel r&eacute;cursif pour ajout des enfants

					 construit_menu_arborescent_cat($sortie_cat, $selectionne_cat, $cat['id'], $indent_cat);

					 // Ferme le calque

					 $sortie_cat.="</div>";

				  }

			}

		 }

}
Et le CSS du menu, qui n'est pas définitif. L'essentiel pour moi est de pouvoir intervenir ensuite à ma guise pour modifier les titres de catégories et les sous titres. Si possible en leur attribuant des styles différents.
.menucat  {

	/* this page only */

	margin-right: 0;

	margin-bottom: 0px;

	text-decoration:none;

	color:#4c6055;

	border:1px solid #fff;

	border-width:0 1px 1px 0;

	font-family: Arial, Helvetica, sans-serif;

	font-size: 12px;

	font-weight: bold;

	}




/* style the links */

.menucat a, .menucat a:visited {

	text-decoration:none;

	color:#4c6055;

	border:1px solid #fff;

	border-width:0 1px 1px 0;

	font-family: Arial, Helvetica, sans-serif;

	font-size: 12px;

	font-weight: bold;	

	}




	.menucat a:visited:hover {

	text-decoration:none;

color:#4c6055; 

background:#949e7c;

	}



.menucat a:hover {

color:#4c6055; 

background:#949e7c;

}

Cordialement

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Xéon,

Le site sur lequel vous travaillez est-il en ligne?

Pouvez-vous donner plus d'léléments sur ce que vous souhaitez apporter à votre menu déroulant?

Merci d'avance !

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Oui : http://bienetre-equitable.com/boutique/ach...ex.php?catid=43

J'ai un peu avancé depuis que j'ai envoyé kla qeustion , mais actuellement, voiici le problème : pourquoi quand le menu est déployé, les liens changent-ils de couleurs, sous la partie déployée ?

Il semble en fait que lelien prend parfois le style desliens généraux, et quand le menu est déployé, il prend le style menucat.

Voici le code de la fonction

function construit_menu_arborescent_cat(&$sortie_cat, &$selectionne_cat, $parent_cat=0, $indent_cat=-1)

{

		 global $wwwroot, $catid, $repertoire_images;

		 $indent_cat +=1;

		 if(is_array($catid)) $catid=0;

		 // Recherche de tous les noeuds ayant $parent comme noeud parent

		 $qid = mysql_query("SELECT c.id, c.parent_id, c.nom_".$_SESSION['langue']." FROM peel_categories c INNER JOIN peel_sites_pivots sc ON (sc.categorie_id = c.id) WHERE c.parent_id = '$parent_cat' AND sc.site_id = '".intval($_SESSION['ecom']['id'])."' AND c.etat = '1' ORDER BY c.position");

		 // Si la requete a abouti

		 if($qid){

			// Pour toutes les entr&eacute;es

			while($cat = mysql_fetch_array($qid)){

				  // Boucle pour ajouter l'indentation (une image vide)

				  // Pour aller plus loin on peut g&eacute;rer des lignes de suite

				  for($i=0;$i<$indent_cat;$i++){

					  $sortie_cat .= "<img src=\"$wwwroot/images/mnu_empty.gif\" border=\"0\" alt=\"\" />";

				  }

				  // Recherche d'enfant pour d&eacute;terminer l'aspect de l'icone (feuille ou dossier)

				 $fils_cat = mysql_query("SELECT c.id, c.parent_id, c.nom_".$_SESSION['langue']." FROM peel_categories c INNER JOIN peel_sites_pivots sc ON (sc.categorie_id = c.id) WHERE c.parent_id = '".$cat['id']."' AND sc.site_id = '".intval($_SESSION['ecom']['id'])."' AND c.etat = '1' ORDER BY c.position");


				  $div_cat = mysql_num_rows($fils_cat);

				  // Si il y a des enfants

				  if ($div_cat) {

					  // Ajout de l'icone du dossier

					  $sortie_cat .= "<img src=\"$wwwroot/images/menplus.gif\" border=\"0\" alt=\"\" />&nbsp;";

					  // Ajout du lien (identiqueà construit menu)

					  $sortie_cat .= "<a class=\"menucat\" href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">";


					  // Test si le noeud est le noeud actif (id), si oui, ajoute du gras (plus visuel)

					  if($cat['id']==$catid) $sortie_cat .= "<b><div class=\"menucat\">";

					  // Ajoute le nom de la cat&eacute;gorie et d&eacute;bute un calque DIV ayant pour ID l'Id de la cat&eacute;gorie

					  $sortie_cat .=  html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);


					  $nb = calcul_nbprod_parcat($cat['id']);


					  if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; }


					 $sortie_cat .= "</a></b><br /><DIV class=\"menucat\" id=".$cat['id'];

					  // Recherche si le noeud fait partie de l'arborescence du noeud actif

					  parent_noeud_cat($cat['id'],$catid, $actif_cat=0);

					  // Si Oui,

					  if(($cat['id'] == $catid) || ($actif_cat == 1)){

						  // Rends le calque visible

						  $sortie_cat.= " style=\"display:yes\">\n";

					  }

					  else{

						  // Sinon, rends le calque invisible

						  $sortie_cat.= " style=\"display:none\">\n";

					  }

				  }

				  // Sinon, c'est un document 

				  else{

					  // Ajoute l'image du document

					  $sortie_cat .= "<img src=\"$wwwroot/images/menminus.gif\" border=\"0\" alt=\"\" />&nbsp;";

					  // Ajoute le lien (identique &agrave; construit_menu)

					  $sortie_cat .= "<a class=\"menucat\" href=\"$wwwroot/achat/index.php?catid=" . $cat['id'] ."\">";

					  // Si c'est la feuille active, la met en gras

					  if($cat['id']==$catid) $sortie_cat .= "<b>";

					  // Ajoute le nom

					  $sortie_cat .= html_entity_decode($cat['nom_'.$_SESSION['langue'].'']);


					  $nb = calcul_nbprod_parcat($cat['id']);


					  if (!empty($nb)) {$sortie_cat .= " (".$nb.") "; }


					   $sortie_cat .= "</a></b><br />";

				  }

				  // Si c'est un noeud (cat&eacute;gorie)

				  if($div_cat){

					 // Appel r&eacute;cursif pour ajout des enfants

					 construit_menu_arborescent_cat($sortie_cat, $selectionne_cat, $cat['id'], $indent_cat);

					 // Ferme le calque

					 $sortie_cat.="</div>";

				  }

			}

		 }

}
ET le CSS
.menucat  {

	/* this page only */

	margin-right: 0;

	margin-bottom: 0px;

	text-decoration:none;

	font-family: Arial, Helvetica, sans-serif;

	font-size: 12px;

	font-weight: bold;

	color:#957ef0;


	}




/* style the links */

.menucat a, .menucat a:visited {

	text-decoration:none;

	color:#957ef0;

	border:1px solid #fff;

	border-width:0 1px 1px 0;

	font-family: Arial, Helvetica, sans-serif;

	font-size: 12px;

	font-weight: bold;	

	}




	.menucat a:visited:hover {

	text-decoration:none;

	color:#7ee2f1;

	border:1px solid #fff;

	border-width:0 1px 1px 0;

	font-family: Arial, Helvetica, sans-serif;

	font-size: 12px;

	font-weight: bold;	

	}



.menucat a:hover {

	text-decoration:none;

	color:#7ee2f1;

	border:1px solid #fff;

	border-width:0 1px 1px 0;

	font-family: Arial, Helvetica, sans-serif;

	font-size: 12px;

	font-weight: bold;	

}

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Si je comprend bien, votre objectif est de ne plus avoir les liens des sous-catégories qui changent de couleur au survol?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Non, je voudrais déjà que le style ne change pas quand on clique sur un noeud du menu. Quand le noeud est déployé, le style sous le noeud, change.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Avez-vous pu voir pour le menu ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping