Re: [PHP-ES] menu UL lI recursivo
[email protected] (Roberto Barreiro) Tue, 8 Jan 2013 10:33:41 +0100
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <CAKYOtPchZg1Js5i2jn=sVmwG+XE=Mdqk6SoHtLcnYAz2wqBShg@mail.gmail.com> |
hola muchas gracias por tu respuesta ....ya esta resuelto!!! luego porteo la web.... salu2 El 7 de enero de 2013 21:14, Mauricio Rodriguez <[email protected]> escribió: > yo use esto: > > //printf("arr_mnu: <pre>%s</pre>",print_r($arr_mnu,true)); //exit; > > $menu = ' > <ul class="dropdown"><!-- menu --> > > '; > > $menu .= array2ul($arr_mnu); > > $menu .= ' > </ul><!-- close menu -->'; > > > ya le das un echo donde quieras que aparezca. > > la funcion auxiliar que convierte un array en una lista: > > function array2ul($array, &$ul='', $level=2){ > > global $mnu_flat; > > $ident = str_repeat("\t", $level); > > foreach($array as $key => $value) > { > > $es_papa = is_array($array[$key]); > > if($es_papa) > $ul .= "$ident<li><a href=\"".$mnu_flat[$key]."\">$key</a>"; > else > $ul .= "$ident<li><a href=\"$value\">$key</a>"; > > if( $es_papa ) > { > $ul .= "\n$ident<ul class=\"sub_menu\">\n"; > array2ul($value, $ul, $level+1); > $ul .= "$ident</ul>\n"; > } > $ul .= $es_papa ? "$ident</li>\n" : "</li>\n"; > } > > return $ul; > } > > Level es la dimesion del arreglo. > > Saludos. > > > > El 7 de enero de 2013 09:02, Roberto Barreiro <[email protected]>escribió: > > Hola lista >> >> Por mas que lo intento y busco en internet, no encuentro nada que >> funcione..... tengo un array multinivel (les paso solo una pequeña >> parte) con el cual quiero generar un menu ul li multinivel .... no se >> cuantos niveles puedo llegar a tener, por lo que deberia hacerlo con >> una funcion recursiva ... y como he dicho, no encuentro nada en >> internet que pueda adaptar ... alguno de vosotros tiene un link a >> algun ejemplo que me pueda valer??? ..... los ejemplos que he >> encontrado, no logro hacerlos funcionar .... gracias!!! >> >> >> Array >> ( >> [7] => Array >> ( >> [id_categoria] => 8 >> [linklabel] => exteriores >> [parentid] => 7 >> [submenu] => Array >> ( >> [8] => Array >> ( >> [id_categoria] => 9 >> [linklabel] => version >> [parentid] => 8 >> [submenu] => Array >> ( >> [9] => Array >> ( >> [id_categoria] => 11 >> [linklabel] => Formato DIN2 >> [parentid] => 9 >> ) >> >> ) >> >> ) >> >> ) >> >> ) >> >> ) >> > >