Cibiņš Posted April 26, 2011 Report Share Posted April 26, 2011 (edited) Sveiki kolēģi! Nu tā kā man nav apgaismības kā īsti veidojas norādītais ceļš, kurā cilvēks atrodas, jautāju jums to šeit. Man ir rekursijas funkcija kas veido submenu pa līmeņiem. function sitemap2($pid2){ $sql2="SELECT * FROM pg_menu WHERE parent_id=".intval($pid2)." AND status = '1' ORDER BY position ASC;"; $res2=mysql_query($sql2); if(mysql_num_rows($res2)<1){ return ''; } $s2='<ul>'; while($row2=mysql_fetch_object($res2)){ $s2.='<li>'; $s2.='<a href="?'; if(isset($_GET['lang'])){ $s2.='lang='.$_GET['lang'].'&'; } $s2.='pg=shop&cat='.$row2->url.'&mbid='.$row2->id.'" style="background-color: #'.$row2->bgcol.'">'; if($_GET['lang'] == 'ru'){ $s2.= $row2->desc_ru; } elseif($_GET['lang'] == 'en'){ $s2.= $row2->desc_en; } else { $s2.= $row2->desc_lv; } $s2.='</a>'; $s2.=sitemap2($row2->id); $s2.='</li>'; } $s2.='</ul>'; return $s2; } echo sitemap2(0); teorētiski pārslēdzot menu izveidojas tikai šādi urļi: http://localhost:81/?pg=shop // Sākumlapas kategorija http://localhost:81/?pg=shop&mbid=183 //Sākumlapa > Menu 1_1 http://localhost:81/?pg=shop&mbid=181 //Sākumlapa > Menu 1 utt ?pg=shop - sākumlapa, kurā parādās visi datubāzē esošie aktīvie ieraksti rindā pēc kārtas. mbid=identifikators no ID pēc kura tiek atlasīti ieraksti attiecīgajam menu. Tātad cik nojaušu nekāda ceļu norāde manā variantā nesanāk. bet moš kāds ganjau zin kā sanāk. Kā panākt lai lapā parādītos ceļš - piemēram - sākumlapā - parādās tikai "Internetveikals", savukārt ieejot piemēram kādā no kategorijām parādās piemēŗam Internetveikals > Kategorija 1, vai atrodoties kādā zemākā lapas līmenī parādītos piemēram Internetveikals > Kategorija 1 > kategorija 1_1 > Kategorija 1_1_1 utt? Tipa aktīvā kategorija pēc ceļa. Cerams ir saprotama doma.. Edited April 26, 2011 by Cibiņš Quote Link to comment Share on other sites More sharing options...
mad182 Posted April 26, 2011 Report Share Posted April 26, 2011 function get_path($node,$deep=false) { $result = mysql_query("SELECT parent_id FROM pg_menu WHERE id='$node'"); $row = mysql_fetch_assoc($result); $path = array(); if (!empty($row['parent_id'])) { $path[] = $row['parent_id']; $path = array_merge(get_path($row['parent_id'],true), $path); } if(!$deep) { $path[] = $node; } return $path; } Kaut kā apmēram tā es kādreiz darīju ar līdzīgu koku kā tev... Quote Link to comment Share on other sites More sharing options...
Cibiņš Posted April 27, 2011 Author Report Share Posted April 27, 2011 function get_path($node,$deep=false) { $result = mysql_query("SELECT parent_id FROM pg_menu WHERE id='$node'"); $row = mysql_fetch_assoc($result); $path = array(); if (!empty($row['parent_id'])) { $path[] = $row['parent_id']; $path = array_merge(get_path($row['parent_id'],true), $path); } if(!$deep) { $path[] = $node; } return $path; } Kaut kā apmēram tā es kādreiz darīju ar līdzīgu koku kā tev... Nu jā Tev izskatāš ka tas ir Menu-Tree, bet man tādu nevajag. Man ir drop-down menu tips. Respektīvi - menu ir kā drop-down bet vēl lapā atrodas ceļš (Sākums > Menu1 > Menu1_1 atkarībā kur cilvēks atrodas), tik nezinu pēc kādiem kritērijiem īsti tas ceļš veidojas. Quote Link to comment Share on other sites More sharing options...
upiz Posted April 27, 2011 Report Share Posted April 27, 2011 Google -> breadcrumbs Quote Link to comment Share on other sites More sharing options...
mad182 Posted April 27, 2011 Report Share Posted April 27, 2011 Nu bet tieši priekš tā jau tev datus arī tā f-ja atgriež... Vari vēl nosaukumu pielasīt klāt. Kā tālāk izdrukāt to masīvu es ceru nav jāskaidro... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.