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

De WikiEducator
Saltar a: navegación, buscar
(Probando el ejemplo)
(Borrar)
 
(5 revisiones intermedias por el mismo usuario no mostrado)
Línea 2: Línea 2:
 
{{:Usuario:ManuelRomero/php/smarty/tienda/nav}}
 
{{:Usuario:ManuelRomero/php/smarty/tienda/nav}}
 
__NOTOC__
 
__NOTOC__
===Probando el ejemplo===
+
===Opciones a añadir===
*Puedes ver esta parte del ejercicio ejecutándose en la web:
+
Vamos a añadir tres opciones cuando haya productos en la cesta
http://www.manuel.infenlaces.com/tiendaSmarty/v5/logica/login.php
+
#Borrar
 +
#Pagar
 +
#Vaciar
 +
[[Imagen:OpcionesCesta.png|300px|center]]<br />
 +
====Borrar====
 +
*Los productos incluídos en la cesta se podrán eliminar de la cesta con un botón activado para ello.
 +
*En caso de haber varias unidades del mismo producto eliminará una unidad de ese producto.
 +
*En caso de ser la última unidad desaparecerá el producto.
  
*En este caso solo tenemos que añadir a la cesta la opción de pagar y la opción de vaciar la cesta
+
====Pagar====
*Son dos formularios en la cesta.tpl
+
*Esta opción solo debe de estar activa en el caso de que haya productos
*Añadiremos el fichero php para pagar pagar.php
+
*Nos llevará a una página con un resumen del pago de los productos a modo de especie de factura
*Vaciar la cesta simplemente eliminará la variable de sesión cesta
+
*Para ello crearemos una nueva plantilla llamada '''''pagar.tpl'''''
*El código
+
;cesta.tpl
+
<!--
+
<source lang=php>
+
    <form id='vaciar' action='productos.php' method='post'>
+
        {if empty($productoscesta)}
+
            <input type='submit' name='vaciar' value='Vaciar Cesta' disabled='true' />
+
        {else}
+
            <input type='submit' name='vaciar' value='Vaciar Cesta' />
+
        {/if}
+
    </form>
+
    <form id='comprar' action='cesta.php' method='post'>
+
        {if empty($productoscesta)}
+
            <input type='submit' name='comprar' value='Comprar' disabled='true' />
+
        {else}
+
            <input type='submit' name='comprar' value='Comprar' />
+
        {/if}
+
</source>
+
-->
+
;pagar.php
+
<!--
+
<source lang=php>
+
<?php
+
    // Recuperamos la información de la sesión
+
    session_start();
+
    unset($_SESSION['cesta']);
+
    die("Gracias por su compra.<br />Quiere <a href='productos.php'>comenzar de nuevo</a>?");
+
?>
+
</source>
+
;producto.php
+
Aquí procesaremos el click que haya realizado el cliente (nuevo producto, pagar o vaciar cesta).
+
<source lang=php>
+
// Comprobamos si se ha enviado el formulario de vaciar la cesta
+
......
+
if (isset($_POST['vaciar'])) {
+
    unset($_SESSION['cesta']);
+
    $cesta = new CestaCompra();
+
}
+
if (isset($_POST['pagar'])) {
+
    header('Location:pagar.php');
+
}
+
  
 +
====Vaciar====
 +
*Esta opción vaciará todos los productos de la cesta
 +
*Esta opción solo estará disponible si hay productos en la cesta
  
</source>
+
====Ejemplo funcionando====
-->
+
En este enlace podemos ver el ejemplo funcionando
 +
http://manuel.infenlaces.com/dwes/tienda/TiendaOpcionesCesta/login.php

Última revisión de 10:35 8 abr 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




Opciones a añadir

Vamos a añadir tres opciones cuando haya productos en la cesta

  1. Borrar
  2. Pagar
  3. Vaciar
OpcionesCesta.png

Borrar

  • Los productos incluídos en la cesta se podrán eliminar de la cesta con un botón activado para ello.
  • En caso de haber varias unidades del mismo producto eliminará una unidad de ese producto.
  • En caso de ser la última unidad desaparecerá el producto.

Pagar

  • Esta opción solo debe de estar activa en el caso de que haya productos
  • Nos llevará a una página con un resumen del pago de los productos a modo de especie de factura
  • Para ello crearemos una nueva plantilla llamada pagar.tpl

Vaciar

  • Esta opción vaciará todos los productos de la cesta
  • Esta opción solo estará disponible si hay productos en la cesta

Ejemplo funcionando

En este enlace podemos ver el ejemplo funcionando

http://manuel.infenlaces.com/dwes/tienda/TiendaOpcionesCesta/login.php