Foros del Web » Programando para Internet » PHP »

Crear menu, desde Backend, y que aparezca solo en algunas paginas

Estas en el tema de Crear menu, desde Backend, y que aparezca solo en algunas paginas en el foro de PHP en Foros del Web. Hola, estoy haciendo una web, con php, mysql y demás... y me gustaría que me ayudaran, porque he pensado , en a través del backend ...
  #1 (permalink)  
Antiguo 11/06/2012, 06:10
 
Fecha de Ingreso: abril-2012
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 2
Exclamación Crear menu, desde Backend, y que aparezca solo en algunas paginas

Hola, estoy haciendo una web, con php, mysql y demás... y me gustaría que me ayudaran, porque he pensado , en a través del backend crear tantos menús como quiera, y que aparezca en algunas paginas.php , esto tambien configurable , alguna idea?

Alguna idea de como hacerlo?
  #2 (permalink)  
Antiguo 11/06/2012, 07:36
Avatar de exitoso23487  
Fecha de Ingreso: enero-2009
Mensajes: 49
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Buenas me imaginó que el menú saldrá de acuerdo a algún sistema de roles o de jerarquías. Este lo manejarías con una variable de sesión; ello lo incluirías en el archivo que te "generará" el menú.
Por ejemplo
Código PHP:
//menu.php

function menu_normal(){
echo 
"todo el codigo del menu";
}
function 
menu_tecnico(){
echo 
"todo el codigo del menu";
}
function 
menu_administrador(){
echo 
"todo el codigo del menu";
}

//acá viene el tema de la jerarquía u roles
$rol=$_SESSION['rol'];
switch(
$rol){
case 
"1":
menu_normal;
break;
case 
"2":
menu_tecnico;
break;
case 
"3":
menu_administrador;
break;

Y luego en tu(s) página(s) incluirías en donde corresponda este archivo.
Espero que te sirva.
  #3 (permalink)  
Antiguo 11/06/2012, 07:39
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Hola oween.

Para encarar el proyecto pensa en una tabla categorias autoreferenciada para manejar subcategorias. Esto va a manejar los menus. Despues configurar que un menu aparezca o no en una pagina u en otra. Crea otras 2 tablas en una llama paginas y crea tantas entradas como paginas tengas y despues en la otra relaciona las paginas con los menues y ahi tenes.

Espero sirva saludos.
__________________
http://www.latinium.com.ar/
  #4 (permalink)  
Antiguo 11/06/2012, 08:36
 
Fecha de Ingreso: abril-2012
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Quizas no me expresé bien. Edito Mi primer mensaje para mas información
  #5 (permalink)  
Antiguo 11/06/2012, 08:45
 
Fecha de Ingreso: abril-2012
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Bueno como no puedo editar mi primer mensaje escribo aqui exactamente lo que quiero:

Me gustaria , crear de la zona donde se administra la web, una opcion" crear Menu lateral" una vez hayas pinchado, un formulario con una serie de Input del tipo texto, donde pondre las distinas opciones del menu. Una vez creado el menu aparecerá en todas las paginas de mi web. pues lo que quiero es que solo aparezcan en algunas.

PD. teniendo en cuenta que en cada opcion del menu principal, Se va a articulo.php donde ya muestro unos articulo o otros dependiendo de que seccion sea...
  #6 (permalink)  
Antiguo 11/06/2012, 08:49
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Mira me parece que lo que estas pidiendo es como hacerlo o encararlo y eso es precisamente lo que exitoso23487 y yo intentamos responderte.

Porque no intentas realizarlo y si en el camino tenes mas dudas las posteas en el foro.

Si lo que buscas aca es que alguien lo haga por vos, tenes una mala impresion del foro.

Espero sirva, saludos.
__________________
http://www.latinium.com.ar/
  #7 (permalink)  
Antiguo 11/06/2012, 09:19
 
Fecha de Ingreso: abril-2012
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Cita:
Iniciado por elgoncho99 Ver Mensaje
Mira me parece que lo que estas pidiendo es como hacerlo o encararlo y eso es precisamente lo que exitoso23487 y yo intentamos responderte.Porque no intentas realizarlo y si en el camino tenes mas dudas las posteas en el foro.Si lo que buscas aca es que alguien lo haga por vos, tenes una mala impresion del foro.Espero sirva, saludos.
ah vale, esque lo que ha dicho exitoso23487, no acabo de entenderlo , y lo que tu me has dicho de
Crea otras 2 tablas en una llama paginas y crea tantas entradas como paginas tengas. tampoco acabo de entenderte, el resto si
  #8 (permalink)  
Antiguo 11/06/2012, 09:36
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Mira lo que yo te decia es que para crear menus dinamicamente y realizar ABM sobre ellos
vas a tener que manejar una tabla; yo le suelo llamar categorias, otros le ponen secciones, otros menus pero a resumidas cuentas es lo mismo. Sirve para clasificar contenido.

Despues si queres que un menu se muestre en una pagina y en otras no. Si lo queres configurar con unos checkbox y demas te va a ser laborioso. Lo que te planteo exitoso23487. Es que en cada pagina, pongas una funcion para determinar el menu a mostrar dependiendo por ejemplo de los permisos del usuario, me parece una solucion mas sencilla y quizas dejaria lo demas para cuando adquieras un poco mas de experirencia.

Espero sirva, saludos.
__________________
http://www.latinium.com.ar/
  #9 (permalink)  
Antiguo 11/06/2012, 09:50
 
Fecha de Ingreso: abril-2012
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Cita:
Iniciado por elgoncho99 Ver Mensaje
Mira lo que yo te decia es que para crear menus dinamicamente y realizar ABM sobre ellos
vas a tener que manejar una tabla; yo le suelo llamar categorias, otros le ponen secciones, otros menus pero a resumidas cuentas es lo mismo. Sirve para clasificar contenido.

Despues si queres que un menu se muestre en una pagina y en otras no. Si lo queres configurar con unos checkbox y demas te va a ser laborioso. Lo que te planteo exitoso23487. Es que en cada pagina, pongas una funcion para determinar el menu a mostrar dependiendo por ejemplo de los permisos del usuario, me parece una solucion mas sencilla y quizas dejaria lo demas para cuando adquieras un poco mas de experirencia.

Espero sirva, saludos.

Claro yo lo que habia pensado es: en un campo de una tabla, meter el ID, del menu, seccion o categorias(como se le quiera llamar) separado por comas.
Si se quiere mostrar el menu en distintas paginas cuando entro a una pagina web, hago un select a la base de datos, y si se corresponde con el id, mostrar el menú... pero dices que esto es muy jodio no? es que el problemas es ir comprobando que se encuentra el id... que es la parte dificil porque esta separado por comas los ids no?

en cuanto a la parte señalada en rojo, queria comentar que todos los menus aparecerian igual para todos los usuarios, pero eso si, depende en que pagian se muestre uno u otro

un saludo
  #10 (permalink)  
Antiguo 11/06/2012, 10:06
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Deberias tener una tabla algo asi:

Código PHP:
Ver original
  1. Tabla Menu/Seccion/Categorias, autoreferenciada
  2. +----+----------+----------+
  3. | ID | NAME     | ID_PADRE |
  4. +----+----------+----------+
  5. | 1  | AUTOS    |          |
  6. | 2  | CASAS    |          |
  7. | 3  | JUGUETES |          |
  8. | 4  | CHEVROLET|  1       |
  9. | 5  | FORD     |  1       |
  10. +----+----------+----------+

Despues en cada pagina suponete en el index.php

Código PHP:
Ver original
  1. /*Dibujar menues principales*/
  2. Menu(array(1,2,3));

Depues le dan click al menu autos suponete y cuando lo procesas haces

Código PHP:
Ver original
  1. $subMenus = true;
  2. Menu(array(1),$subMenus);
  3. /*Y te va a traer Chevrolet, Ford, etc*/


Es solo una idea, desde ya que podria estar mejor pero tienes que poner manos a la obra y equivocarte
sino no vas a poder lograrlo.

Espero sirva, saludos.
__________________
http://www.latinium.com.ar/
  #11 (permalink)  
Antiguo 11/06/2012, 10:18
 
Fecha de Ingreso: abril-2012
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Cita:
Iniciado por elgoncho99 Ver Mensaje
Deberias tener una tabla algo asi:

Código PHP:
Ver original
  1. Tabla Menu/Seccion/Categorias, autoreferenciada
  2. +----+----------+----------+
  3. | ID | NAME     | ID_PADRE |
  4. +----+----------+----------+
  5. | 1  | AUTOS    |          |
  6. | 2  | CASAS    |          |
  7. | 3  | JUGUETES |          |
  8. | 4  | CHEVROLET|  1       |
  9. | 5  | FORD     |  1       |
  10. +----+----------+----------+

Despues en cada pagina suponete en el index.php

Código PHP:
Ver original
  1. /*Dibujar menues principales*/
  2. Menu(array(1,2,3));

Depues le dan click al menu autos suponete y cuando lo procesas haces

Código PHP:
Ver original
  1. $subMenus = true;
  2. Menu(array(1),$subMenus);
  3. /*Y te va a traer Chevrolet, Ford, etc*/


Es solo una idea, desde ya que podria estar mejor pero tienes que poner manos a la obra y equivocarte
sino no vas a poder lograrlo.

Espero sirva, saludos.
si exactamente asi lo habia pensado yo mas o menos, pero en dos tablas. Pero una duda que tengo, si quiero mostrar cevrolet y ford, en autos y casas, que es lo que deberia de hacer?
  #12 (permalink)  
Antiguo 11/06/2012, 10:25
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Hace otra tabla para que quede mas claro y la primera sacale el ID_PADRE.

Te quedaria asi las tablas.

Código PHP:
Ver original
  1. Tabla menu
  2. +----+----------+
  3. | ID | MENU     |
  4. +----+----------+
  5. | 1  | AUTOS    |
  6. | 2  | CASAS    |
  7. | 3  | JUGUETES |
  8. | 4  | CHEVROLET|
  9. | 5  | FORD     |
  10. +----+----------+
  11.  
  12. Tabla que relaciona hijos con mas de 1 padre
  13. +----+----------+---------+
  14. | ID | ID_PADRE | ID_HIJO |
  15. +----+----------+---------+
  16. | 1  |  1       |  4      |
  17. | 2  |  1       |  5      |
  18. | 3  |  2       |  4      |
  19. | 4  |  2       |  5      |
  20. +----+----------+---------+

Espero sirva, saludos
__________________
http://www.latinium.com.ar/
  #13 (permalink)  
Antiguo 11/06/2012, 10:37
 
Fecha de Ingreso: abril-2012
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Cita:
Iniciado por elgoncho99 Ver Mensaje
Hace otra tabla para que quede mas claro y la primera sacale el ID_PADRE.

Te quedaria asi las tablas.

Código PHP:
Ver original
  1. Tabla menu
  2. +----+----------+
  3. | ID | MENU     |
  4. +----+----------+
  5. | 1  | AUTOS    |
  6. | 2  | CASAS    |
  7. | 3  | JUGUETES |
  8. | 4  | CHEVROLET|
  9. | 5  | FORD     |
  10. +----+----------+
  11.  
  12. Tabla que relaciona hijos con mas de 1 padre
  13. +----+----------+---------+
  14. | ID | ID_PADRE | ID_HIJO |
  15. +----+----------+---------+
  16. | 1  |  1       |  4      |
  17. | 2  |  1       |  5      |
  18. | 3  |  2       |  4      |
  19. | 4  |  2       |  5      |
  20. +----+----------+---------+

Espero sirva, saludos
no entiendo el campo id_hijo que funcion hace, podrias explicarme
  #14 (permalink)  
Antiguo 11/06/2012, 11:07
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Eso es para determinar una relacion muchos a muchos.

Fijate que en general tenes que 1 padre tiene 0, 1 .. o N hijos.

Vos aca lo que queres decir es que 1 padre bien puede tener 0,1, o n hijos y que aparte un hijo puede tener mas que un padre.

Esto es un problema de relaciones entre tablas y se define como relacion muchos a muchos.

La tabla que queres relacionar es 1 y la queres relacionar consigo misma en relacion muchos a muchos. Por eso tenes que crear una segunda tabla en la cual describa esa relacion.

De la segunda tabla (la de las relaciones) podes decir que.

Autos tiene como submenu Chevrolet y Ford.
Casas tiene como submenu Chevrolet y Ford.
Ford tiene como padre a Autos y Casas.

Si vos usaras 1 sola tabla no podrias hacerlo, en cambio al usar esta tabla que te relaciona varios padres con varios hijos, podes resolver el problema.

Esto es teoria realacional de base de datos, si queres profundizar el tema te recomiendo buscar en google o similar "muchos a muchos base de datos".

Espero sirva, saludos.
__________________
http://www.latinium.com.ar/
  #15 (permalink)  
Antiguo 11/06/2012, 11:35
 
Fecha de Ingreso: abril-2012
Mensajes: 27
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Crear menu, desde Backend, y que aparezca solo en algunas paginas

Cita:
Iniciado por elgoncho99 Ver Mensaje
Eso es para determinar una relacion muchos a muchos.

Fijate que en general tenes que 1 padre tiene 0, 1 .. o N hijos.

Vos aca lo que queres decir es que 1 padre bien puede tener 0,1, o n hijos y que aparte un hijo puede tener mas que un padre.

Esto es un problema de relaciones entre tablas y se define como relacion muchos a muchos.

La tabla que queres relacionar es 1 y la queres relacionar consigo misma en relacion muchos a muchos. Por eso tenes que crear una segunda tabla en la cual describa esa relacion.

De la segunda tabla (la de las relaciones) podes decir que.

Autos tiene como submenu Chevrolet y Ford.
Casas tiene como submenu Chevrolet y Ford.
Ford tiene como padre a Autos y Casas.

Si vos usaras 1 sola tabla no podrias hacerlo, en cambio al usar esta tabla que te relaciona varios padres con varios hijos, podes resolver el problema.

Esto es teoria realacional de base de datos, si queres profundizar el tema te recomiendo buscar en google o similar "muchos a muchos base de datos".

Espero sirva, saludos.
Vale te entiendo me pongo manos a la obra ¡¡ mañana te cuento como va la cosa ¡

Etiquetas: aparezca, backend, mysql
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 07:55.