Foros del Web » Programando para Internet » ASP Clásico »

Tratar Menu lateral desde Include....

Estas en el tema de Tratar Menu lateral desde Include.... en el foro de ASP Clásico en Foros del Web. hola gente! tengo la siguiente duda, tengo un sitio en el cual estoy haciendo el manejo del menu general del mismo con includes para mejor ...
  #1 (permalink)  
Antiguo 16/06/2003, 16:54
 
Fecha de Ingreso: enero-2003
Mensajes: 25
Antigüedad: 22 años, 4 meses
Puntos: 0
Tratar Menu lateral desde Include....

hola gente!

tengo la siguiente duda, tengo un sitio en el cual estoy haciendo el manejo del menu general del mismo con includes para mejor manejo, pero ahora se me presenta el tema de que en algunas o todas las diferentes opciones de ese menu, tendran subopciones.. y ahi si que no se como manejar ese caso.. alguien me puede dar una mano ahi?? Pasa que las subopciones no estan visibles si la opcion general no esta seleccionada.. se entiende?? Solo se desplegarian si el usuario clickea la opcion principal...

Como se haria en ese caso? se sigue manejando desde el mismo include? o como?

--
agrego que la plataforma es ASP, y trabajo desde el DW.

gracias!
  #2 (permalink)  
Antiguo 16/06/2003, 17:18
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 23 años, 5 meses
Puntos: 0
Hola,

Yo estoy tratando de hacer lo mismo.

todas las pistas que me han dado van encaminadas a utilizar Javascript junto con asp para desplegar de forma dinamica los submenus sin necesidad de recargar la pagina.

Como resulta que de javascript no tengo ni la mas remota idea, lo que he optado es por recargar la pagina a cada seleccion y mostrar los registros correspondientes a cada opcion.

Tambien utilizo un include para mostrar los menus, ( es el mismo include para todos los menus, subopciones y sub-subopciones )

utilizo para ello dos recordset ( o tres ) distintos, el primero me hace un bucle que lee las opciones principales, y dentro de este hago otro que comprueba si la opcion seleccionada coincide con el registro, y si es así, muestro el resultado.

No se si te servirá la idea general.

Saludos.
  #3 (permalink)  
Antiguo 16/06/2003, 17:39
 
Fecha de Ingreso: enero-2003
Mensajes: 25
Antigüedad: 22 años, 4 meses
Puntos: 0
por lo que te entendi... trabajas los menus con una base de datos??.. seria interesante si me dieras un poquito mas de info sobre eso.. ni que sea para buscarla yo..

Por las dudas lo aclaro, pero.. cada subopcion o sub-subopcion tuya tiene una pagina en la que se muestra algo, no?.. ya que ese seria mi caso...

gracias!
  #4 (permalink)  
Antiguo 16/06/2003, 18:00
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 3 meses
Puntos: 1
La opcion de almaluz me parece muy correcta, leer los ddatos de una base de datos y usar un script de javascript para crear la jerarquia de los menus, los hay por miles y puedes modificarlos facilmente.

En cualquier caso me parece que no hay ningun problema con el include, sino con la orientacion a la hora de programar el menu.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #5 (permalink)  
Antiguo 17/06/2003, 16:32
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 23 años, 5 meses
Puntos: 0
efectivamente,

los menus los leo de una base de datos que no he diseñado yo( es la db del programa de gestion de la empresa ), y que tiene una extructura muy curiosa, pues con solo tres campos controla las familias, subfamilias, subsubfamilias, subsubsub.... y la descripcion... ( en realidad son familias de articulos, no menus, pero el caso es el mismo )

la secuencia de codigo que genera los menus lo tengo en un include que cargo en la página, y en otro include tengo el codigo que lee los artículos de la db ( otra tabla) que coinciden con la familia que seleccionas, asi hago mas legible el codigo de la pagina principal

Pero como dice maestro, la opcion mas adecuada pasa por ser utilizar javascript y asp para no sobrecargar de consultas al servidor.

Actualmente, lo que estoy haciendo en las paginas que tengo operativas, ( www.almaluz.com/catalogo ) es cargar el menu de categorias de la izquierda en una variable application, y comprobar cada vez que piden una página si la variable existe, en caso de que asi sea se lee el menu de esta variable ( sin pedirla al servidor ) y si es la primera vez que se pide la pagina, entonces la carga del server.
Igual hago con los articulos en promocion que se repiten en todas las paginas, solo los solicitas una vez, luego los cogo de la variable application.

no se si te habre lidado más....

Saludos.....
  #6 (permalink)  
Antiguo 17/06/2003, 17:15
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 3 meses
Puntos: 1
Cita:
Mensaje Original por almaluz
Actualmente, lo que estoy haciendo en las paginas que tengo operativas, ( www.almaluz.com/catalogo ) es cargar el menu de categorias de la izquierda en una variable application, y comprobar cada vez que piden una página si la variable existe, en caso de que asi sea se lee el menu de esta variable ( sin pedirla al servidor ) y si es la primera vez que se pide la pagina, entonces la carga del server.
He estado viendo tu tienda online, me parece bastante bien diseñada a nivel programacion, pero me ha interesado eso que decias de la variable de session que no lo he comprendido, me lo puedes explicar un poco mas ampliado.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #7 (permalink)  
Antiguo 17/06/2003, 18:05
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 23 años, 5 meses
Puntos: 0
Lo que hago es comprobar si la variable application existe, si no existe leo de la base de datos las categorias, y las asigno a una variable application que esta disponible para todos los usuarios sin necesidad de volver a solicitarla al server.

Asi:

Código:
IF NOT isArray(Application("CategoriasProductos")) THEN		' Comprobamos que no exista el array
Set catRs=Server.CreateObject("ADODB.RecordSet")			' en caso de que no exista creamos el recordset
catRs.ActiveConnection= con									' asignamos el objeto recordset a la conexion 
sqlString="SELECT * FROM catweb ORDER BY nombre"				' establecemos la consulta sql
catRs.Open sqlstring										' ejecutamos la consulta
CategoriasProductos = catRs.GetRows()						' volcamos el resultado de la consulta en GetRows
		' esto nos da una matriz de dos dimensiones, la primera dimension corresponde al nombre del campo
		' y la segunda al numero de registro
Application Lock											' bloqueamos la application
Application("CategoriasProductos")= CategoriasProductos		' asignamos el resultado de la consulta a la application
Application Unlock											' desbloqueamos la application
catRs.Close													' ahora cerramos y destruimos el recordSet
Set catRs=Nothing
END IF
%>
luego, donde deseo muestro ...

Código:
<%
	FOR i=0 TO UBOUND(Application("CategoriasProductos"),2)' desde que i vale 0 hasta el final de la segunda dimension
															' osea el final de los registros
	codigo = Application("CategoriasProductos")(0,i)		' 0 el primer campo de la tabla( osea el codigo), i el registro
	nombre = Application("CategoriasProductos")(1,i)		' 1 el segundo registrro de la tabla ( o sea el nombre de la categoria)
%>
<a href="efamilia.asp?categoria=<%=Server.URLEncode(codigo)%>&nomcat=<%= nombre%>" class="catrapida"><%= nombre %></a>
NEXT
lo saqué de un libro

asi evitamos pedir tanto al servidor

Saludos
  #8 (permalink)  
Antiguo 17/06/2003, 19:58
 
Fecha de Ingreso: enero-2003
Mensajes: 25
Antigüedad: 22 años, 4 meses
Puntos: 0
Cita:
Mensaje Original por almaluz
Hola,

Tambien utilizo un include para mostrar los menus, ( es el mismo include para todos los menus, subopciones y sub-subopciones )
No se si te servirá la idea general.

Saludos.
hola, estuve viendo tu pagina, y lo que yo necesitaria, es que los submenus, o los subsub... esten tambien debajo de cada opcion "madre" dentro del menu principal..
algo asi..

menu 1
menu 2

submenu 2-b
submenu 2-c
submenu 2-d
menu 3

y que estos aparezcan cuando clickeo en los diferentes menus (1,2 o 3), no que esten siempre presentes...

gracias de nuevo!
  #9 (permalink)  
Antiguo 18/06/2003, 18:16
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 23 años, 5 meses
Puntos: 0
Yo lo hago asi:

Primero leo las categorias y las muestro por pantalla generando por enlace que paso a la misma pagina en la que estoy. familias.asp

cuando muestro estas categorias, dentro del bucle

do while not rs.eof
si el registro actual es igual al registro pasado en el enlace
( esto querria decir que han hecho click en esta categoria)
genero un nuevo recordset que lee de la db los datos en los que la familia se corresponda con este padre..

haber si es asi mas claro.

padre = request.QueryString("padre") ' busco si he recibido algo

Select * from familias Where padre = 1 ' esto me selecciona las categorias
rs.Open ......

do while not rs.Eof ' con este bucle muestro las categorias
response.Write rs("padre")
If rs("padre") = padre Then ' si lo que recibo por el query coincide con este registro quiere decir que se ha hecho click es esta categoria, entonces genero una nueva consulta para mostrar las familias
select * from familias where familia = padre
rs2.open .......
do while not rs2.eof
response.Write rs2("familia")
rs2.Movenext
loop
rs.MoveNext
Loop

No se si me he liado un poco


Saludos.
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 12:24.