Diferencia entre revisiones de «Usuario:ManuelRomero/php/smarty/opcionesCesta»
De WikiEducator
< Usuario:ManuelRomero | php
(→Borrar productos de cesta) |
|||
Línea 12: | Línea 12: | ||
unset($this->unidades[$codigo]); | unset($this->unidades[$codigo]); | ||
//Hay que buscar el poducto y eliminarlo | //Hay que buscar el poducto y eliminarlo | ||
− | + | ||
− | foreach ($this->productos as $producto) { | + | foreach ($this->productos as $indice=>$producto) { |
if ($producto->get_codigo() == $codigo) { | if ($producto->get_codigo() == $codigo) { | ||
− | unset($this->productos[$ | + | unset($this->productos[$indice]); |
} | } | ||
− | |||
} | } | ||
} else { | } else { | ||
Línea 24: | Línea 23: | ||
} | } | ||
</source> | </source> | ||
+ | |||
===Probando el ejemplo=== | ===Probando el ejemplo=== | ||
*Puedes ver esta parte del ejercicio ejecutándose en la web: | *Puedes ver esta parte del ejercicio ejecutándose en la web: |
Revisión de 01:03 4 feb 2017
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |
Borrar productos de cesta
Añadimos un botón en cada producto de la cesta, para poderlo eliminar
- Cada vez que hagamos click, se elmiminará un producto, invoando al método borrarCesta
public function borrar_articulo($codigo) { if ($this->unidades[$codigo] <= 1) { unset($this->unidades[$codigo]); //Hay que buscar el poducto y eliminarlo foreach ($this->productos as $indice=>$producto) { if ($producto->get_codigo() == $codigo) { unset($this->productos[$indice]); } } } else { $this->unidades[$codigo] --; } }
Probando el ejemplo
- Puedes ver esta parte del ejercicio ejecutándose en la web:
http://www.manuel.infenlaces.com/tiendaSmarty/v5/logica/login.php
- En este caso solo tenemos que añadir a la cesta la opción de pagar y la opción de vaciar la cesta
- Son dos formularios en la cesta.tpl
- Añadiremos el fichero php para pagar pagar.php
- Vaciar la cesta simplemente eliminará la variable de sesión cesta
- El código
- cesta.tpl
- pagar.php