Diferencia entre revisiones de «Usuario:ManuelRomero/php/smarty/opcionesCesta»

De WikiEducator
Saltar a: navegación, buscar
(Probando el ejemplo)
Línea 2: Línea 2:
 
{{:Usuario:ManuelRomero/php/smarty/tienda/nav}}
 
{{:Usuario:ManuelRomero/php/smarty/tienda/nav}}
 
__NOTOC__
 
__NOTOC__
 +
 +
===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
 +
 +
<source lang=php>
 +
public function borrar_articulo($codigo) {
 +
        if ($this->unidades[$codigo] <= 1) {
 +
            unset($this->unidades[$codigo]);
 +
            //Hay que buscar el poducto y eliminarlo
 +
            $n = 0;
 +
            foreach ($this->productos as $producto) {
 +
                if ($producto->get_codigo() == $codigo) {
 +
                    unset($this->productos[$n]);
 +
                }
 +
                $n++;
 +
            }
 +
        } else {
 +
            $this->unidades[$codigo] --;
 +
        }
 +
    }
 +
</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:21 3 feb 2017

Road Works.svg Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos.
Ver página de charlas.
Road Works.svg




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
            $n = 0;
            foreach ($this->productos as $producto) {
                if ($producto->get_codigo() == $codigo) {
                    unset($this->productos[$n]);
                }
                $n++;
            }
        } 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