Les sous sous-rubriques disparaissent (bis)

5 messages dans ce sujet

Posté(e) · Signaler ce message

Le problème est connu sur la version shopping (4).

Seulement ce n'est pas très ergonomique et le risque de perdre des clients est grand.

Le post en question: http://forum.peel.fr/sous-rubriques-dispar...9447#entry19447

Je me permets de remettre ce sujet au goût du jour, désolé.

Quelqu'un aurait une piste, de l'aide, une idée? Ou la fonction ré-écrite?

merci d'avance et bonne soirée

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Le problème est connu sur la version shopping (4).

Seulement ce n'est pas très ergonomique et le risque de perdre des clients est grand.

Le post en question: http://forum.peel.fr/sous-rubriques-dispar...9447#entry19447

Je me permets de remettre ce sujet au goût du jour, désolé.

Quelqu'un aurait une piste, de l'aide, une idée? Ou la fonction ré-écrite?

merci d'avance et bonne soirée

ok j'ai modifié le code de la fonction, mais les sous-catégories ne s'affichent plus du coup, je demande un peu d'aide.. je commence à être rouillé en php...

Mon code:

function construit_menu_arborescent_cat(&$sortie_cat, &$selectionne_cat, $parent_cat=0, $indent_cat=-1)
{
global $wwwroot, $catid;
$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 WHERE c.parent_id = '$parent_cat' 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>";
}
// 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 WHERE c.parent_id = '".$cat['id']."' AND c.etat = '1' ORDER BY c.position ORDER BY IF(c.id='".$catid."',1,0) DESC, c.position ASC");

/* $div_cat = mysql_num_rows($fils_cat); */

if(!empty($fils_cat)){
$div_cat = mysql_fetch_assoc($fils_cat);
}else{
$div_cat = false;
}

// 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\">&nbsp;";
// Ajout du lien (identiqueà construit menu)
$sortie_cat .= "<a 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>";
// 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 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 || $div_cat['id']==$catid)){
// 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>&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>";
}
}
}
} [/codebox]

merci bcp !

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Retour de vacances ! Ptit up?

J'essaye de contribuer au forum de mon mieux mais je nécessite aussi vos aides.

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour simraph,

Dans lib/fonctions/fonctions.php, remplacez le code de parent_noeud_cat par : (en gros, on vire le passage par ref. quis emble planter dans cette fonction)

function parent_noeud_cat($noeud_cat,$aktul_cat,$actif_cat = 0){

// Si c'est pas la racine
if($aktul_cat != 0 && $noeud_cat != 0){
// Recherche le parent du noeud &agrave; tester
$qid = mysql_query("SELECT c.id, c.parent_id FROM peel_categories c WHERE c.id = '$aktul_cat' AND c.etat = '1' ORDER BY c.position");

$cat=mysql_fetch_array($qid);
// Appel r&eacute;cursif jusqu'&agrave; la racine
$actif_cat = parent_noeud_cat($noeud_cat,$cat['parent_id'],$actif_cat);
// Si le noeud test&eacute; est le noeud recherch&eacute;
if($cat['parent_id']==$noeud_cat){
// Met le drapeau &agrave; 1
$actif_cat=1;
}
}
return $actif_cat;

}[/codebox]

Et dans construit_menu_arbosrescent_cat(), remplacez les appels à parent_noeud_cat du type :

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

par

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

---> Avec tout ca, les catégories / sous-cat, devraient restées pour les pages de cat / sous-cats / produits.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Ce problème est résolu dans les dernières versions de PEEL Shopping 5.0 et PEEL Premium 5.5.

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