> Manuales > Carrito de la compra en ASP

Planteamientos iniciales para realizar este carrito

Vamos a ver una manera sencilla de realizar un carrito de la compra en ASP, utilizando variables de sesión para guardar los productos comprados, junto con sus precios y otros datos. En estos ejemplos nos vamos a centrar exclusivamente en la funcionalidad del carrito, es decir, la memorización de los productos comprados a lo largo de toda la sesión, dejando de lado todo lo relativo a presentación o la extracción de los productos de una base de datos.

Para entender este manual son necesarios unos conocimientos previos sobre ASP, que se pueden obtener de la lectura de nuestro manual de ASP o los talleres prácticos de la tecnología . Debemos prestar especial atención al manejo de sesiones y el trabajo con el Global.ASA.

También el manual de la biblioteca de ASP puede dar alguna clave sobre la creación de un carrito. Ahora bien, aunque puede ser interesante para ir aprendiendo los fundamentos de la creación de un carrito de la compra, el ejemplo es un poco básico y no creo que se pueda utilizar si no se le hacen unas mejoras al sistema.

Librería carrito.asp

Vamos a atacar al problema creando una librería de funciones que implementen el trabajo típico con el carrito. Esta librería la llamaremos carrito.asp y contendrá el código de todas las funciones relacionadas con el carrito de la compra.

Debería poder:
- Introducir un producto en el carrito
- Eliminar un producto del carrito
- Mostrar el carrito
- Otras funcionalidades que seguro que necesitarás a medida que avances en el trabajo...

Datos a utilizar

El contenido del carrito se debe poder acceder en cualquier momento, siempre y cuando el visitante permanezca en la página. Además, cada visitante debe disponer de un carrito propio. Aunque podríamos pensar en otras soluciones, estas necesidades descritas inicialmente, hacen muy recomendable el uso de variables de sesión, puesto que ofrecen la mejor forma de tratar con datos específicos de cada usuario, que deben perdurar entre las distintas páginas que visite.

Vamos a mantener una variable de sesión con el número de productos que cada usuario tenga en su carrito: session("num_prod")

Debería inicializarse a cero al abrir la sesión. (Se hace en el global.asa)

También necesitaremos guardar los id_producto de cada uno de los productos que se vayan introduciendo en el carrito. Lo haremos también utilizando variables de sesión, con esta numeracion:
session("producto1")=23
session("producto2")=30
session("producto3")=64

...

Con una numeración así, se puede hacer un bucle para sacar por pantalla todos los identificadores de los productos del carrito. Se haría algo como esto:

for i=1 to session("num_prod")
  response.write session("producto" & i)
  response.write "<br>"
next


Ahora bien, probablemente sea útil guardar más que los simples identificadores de los productos. Si se guarda su precio y su nombre puede ser útil para mostrar rápidamente esos valores sin necesidad de acceder a la base de datos.

Los precios los puedes guardar de esta manera:
session("precio1")=200
session("precio2")=99

…

Los nombres de los productos los puedes guardar en variables como estas:
session("nombre1")="Reproductor DVD marca Sony"
session("nombre2")="Placa de memoria 256 MB"

...

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual