Jump to content
php.lv forumi

Neskaidrības ar ceļa veidošanos


Cibiņš

Recommended Posts

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 by Cibiņš
Link to comment
Share on other sites

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...

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...