Foros del Web » Programando para Internet » PHP »

Como plantear un menu personalizado

Estas en el tema de Como plantear un menu personalizado en el foro de PHP en Foros del Web. Hola muy buenas. Tengo mi propio cms hecho y creo mis paginas con php y mysql. Ahora la duda que tengo que quiero es crear ...
  #1 (permalink)  
Antiguo 30/05/2012, 14:18
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 7 meses
Puntos: 3
Como plantear un menu personalizado

Hola muy buenas.
Tengo mi propio cms hecho y creo mis paginas con php y mysql.
Ahora la duda que tengo que quiero es crear un apartado en el cms de menu personalizado agregando las paginas que tengo al menu, el problema que tengo a la hora de plantearlo porque quiero que se pueda generar en base a menu desplegable, es decir, añado una pagina, pero esa pagina puede contener mas paginas y a su vez esa paginas pueden tener otras. Y que genera el codigo hml tipico <ul><li></li>></ul>

Como lo planteo con una tabla en mysql estilo categorias y subcategorias recursivas???

Espero puedan ayudarme para este planteamiento y que hayan entendido.
  #2 (permalink)  
Antiguo 30/05/2012, 14:28
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Como plantear un menu personalizado

Si quieres que el menú tenga un número de niveles predefinido no es tan problemático, si quieres que sea indefinido, habrá que hacer uso de recursión.

Te comento cómo lo hago yo:

Mi sistema permite hasta tres niveles de menú más el módulo-script-aplicación o como quieras llamarle.

Para esto, tengo un editor de niveles de menú, donde guardo los niveles en una tabla, y estos niveles los puedo utilizar para asignarlos al módulo en cuestión, de modo que cuando quiero generar el menú, leo los niveles en que se encuentra cada módulo y así es posible acomodarlos.
  #3 (permalink)  
Antiguo 30/05/2012, 14:39
Avatar de gachon  
Fecha de Ingreso: septiembre-2004
Ubicación: En Google
Mensajes: 462
Antigüedad: 19 años, 7 meses
Puntos: 3
Respuesta: Como plantear un menu personalizado

Muchas gracias!!
Un ejemplo como seria
tabla menu
con los campos
0-id---1
1-url--enlace.html
2-nombre---categorias
3-nivel ---1
4-pertenece al id 1
5-orden---1
Como lo planterias tu?
  #4 (permalink)  
Antiguo 30/05/2012, 14:54
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Como plantear un menu personalizado

Yo tengo mis tablas así:

tabla menu:

nivel1 | nivel2 | nivel3

ejemplo:

Inventarios-> Operaciones-> Compras



Y mi tabla módulos:

id | url | nombre | nivel1 | nivel2 | nivel3

ejemplo:

1->pedido1->Pedidos->Inventarios-> Operaciones-> Compras


Explico el tema: cada aplicación en mi sistema la llamo módulo.
Los módulos son scripts en una carpeta con un nombre (url), pero pueden llamarse como quiera el cliente (Nombre visual) y aunque sé que no es la mejor forma de asociar al menú, construí este sistema hace mucho y por eso redundar teniendo los tres niveles en su tabla, en ves de estar relacionado a un id.

Pero por otra parte, esto permite que en caso de que alguien modificara los niveles del menú borrando algo, el menú como tal se mantiene consistente al no depender de la otra tabla para su estructura, por eso (y por flojera) no lo he cambiado.

Etiquetas: mysql, personalizado, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:20.