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

De WikiEducator
Saltar a: navegación, buscar
(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
            $n = 0;
+
 
             foreach ($this->productos as $producto) {
+
             foreach ($this->productos as $indice=>$producto) {
 
                 if ($producto->get_codigo() == $codigo) {
 
                 if ($producto->get_codigo() == $codigo) {
                     unset($this->productos[$n]);
+
                     unset($this->productos[$indice]);
 
                 }
 
                 }
                $n++;
 
 
             }
 
             }
 
         } 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 00:03 4 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
 
            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