Usuario:ManuelRomero/php/smarty/cesta

De WikiEducator
< Usuario:ManuelRomero‎ | php
Revisión a fecha de 22:10 20 dic 2017; ManuelRomero (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar



Probando el ejemplo

  • Puedes ver esta parte del ejercicio ejecutándose en la web:
http://manuel.infenlaces.com/dwes/tienda/TiendaCesta/login.php

Nuevas especificaciones

  • En esta nueva versión vamos a añadir la parte de la cesta.
  • Cuando seleccionemos un nuevo producto, añadiremos ese producto a la cesta.
  • Para ello seleccionaremos o elegiremos productos de la lista de productos, y según los seleccionemos, se añadirán a la cesta.
  • Esto modificará la plantilla; Lo que antes solo eran los productos, ahora nos aparecerán en la parte derecha constituyendo la cesta de la compra.
  • La cesta contendrá un listado de todos los productos que actualmente hemos comprado.
  • De cada producto anotaremos la cantidad de productos incorporados, así como su precio
  • En la parte inferior tendremos el total de la cesta.
  • En la siguiente imagen podemos ver cómo queda la cesta después de comprar 1 unidad de un producto y 3 de otros dos productos.
CestaTienda.png

  • Para gestionar la cesta tendremos un objeto de la clase cesta: Cesta.php
  • Por otro lado tenemos que modificar la plantilla de productos.tpl una platilla, según se indica en las líneas siguiente.

Explicación del funcionamiento

  • El siguiente diagrama de uso expone el funcionamiento de la nueva versión
  • Par ver claro el escenario dibujamos el siguiente diagrama de uso

CasosUso4.png

  • Explicación:
  1. El usuario selecciona un nuevo producto
  2. Se incorpora el nuevo producto en la cesta (Cesta.php, BD.php y Producto.php)
  3. Se exporta el objeto cesta para la plantilla cesta.tpl
  4. Se exporta el usuario y lista de productos para la plantilla listaProductos.tpl
  5. Se carga la plantilla productos.tpl que incluirá las platillas cesta.tpl y listaProductos.tpl.
  • En esta explicación ya hemos detallado los nuevos ficheros que vamos a incorporar en nuestro desarrollo, los cuales se exponen a continuación

Clases

Cesta.php
DB.php

Plantillas

  • Tenemos que modificar la plantilla de productos.tpl, para añadir la presentación de los datos de la cesta
  • Para hacerlo más cómodo vamos a crear una plantilla contenedora que será productos.tpl, y en ella incluiremos por un lado la lista de productos que irá en una plantilla llamadda listaProductos.tpl, y los datos de la cesta que los aportará una plantilla llamada cesta.tpl

PlantillaProductos.png