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