Diferencia entre revisiones de «Usuario:ManuelRomero/php/smarty/cesta»
De WikiEducator
< Usuario:ManuelRomero | php
(→Probando el ejemplo) |
|||
(6 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 6: | Línea 6: | ||
===Nuevas especificaciones=== | ===Nuevas especificaciones=== | ||
− | *En esta nueva versión vamos a añadir la parte de la cesta | + | *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. | *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 | + | *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. | *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 | |
− | *De cada producto | + | *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. |
+ | [[imagen: cestaTienda.png|300px|center]]<br /> | ||
*Para gestionar la cesta tendremos un objeto de la clase cesta: '''''Cesta.php''''' | *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 | + | *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=== | ===Explicación del funcionamiento=== | ||
*El siguiente diagrama de uso expone el funcionamiento de la nueva versión | *El siguiente diagrama de uso expone el funcionamiento de la nueva versión | ||
*Par ver claro el escenario dibujamos el siguiente diagrama de uso | *Par ver claro el escenario dibujamos el siguiente diagrama de uso | ||
[[Archivo:CasosUso4.png|500px]] | [[Archivo:CasosUso4.png|500px]] | ||
− | * | + | *Explicación: |
− | # | + | #El usuario selecciona un nuevo producto |
#Se incorpora el nuevo producto en la cesta (Cesta.php, BD.php y Producto.php) | #Se incorpora el nuevo producto en la cesta (Cesta.php, BD.php y Producto.php) | ||
#Se exporta el objeto cesta para la plantilla cesta.tpl | #Se exporta el objeto cesta para la plantilla cesta.tpl | ||
Línea 30: | Línea 32: | ||
===Clases=== | ===Clases=== | ||
;Cesta.php | ;Cesta.php | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
;DB.php | ;DB.php | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Plantillas=== | ===Plantillas=== | ||
*Tenemos que modificar la plantilla de '''''productos.tpl''''', para añadir la presentación de los datos de la cesta | *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''''' | *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''''' | ||
[[Archivo:PlantillaProductos.png]] | [[Archivo:PlantillaProductos.png]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Última revisión de 22:10 20 dic 2017
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.
- 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
- Explicación:
- El usuario selecciona un nuevo producto
- Se incorpora el nuevo producto en la cesta (Cesta.php, BD.php y Producto.php)
- Se exporta el objeto cesta para la plantilla cesta.tpl
- Se exporta el usuario y lista de productos para la plantilla listaProductos.tpl
- 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