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

De WikiEducator
Saltar a: navegación, buscar
(Probando el ejemplo)
Línea 13: Línea 13:
 
;cesta.tpl
 
;cesta.tpl
 
<source lang=php>
 
<source lang=php>
    <p><span class='pagar'>Precio total: {$coste} €</span></p>
+
    <form id='vaciar' action='productos.php' method='post'>
    <form action='pagar.php' method='post'>
+
         {if empty($productoscesta)}
         <p><span class='pagar'>
+
            <input type='submit' name='vaciar' value='Vaciar Cesta' disabled='true' />
             <input type='submit' name='pagar' value='Pagar'/>
+
        {else}
         </span></p>
+
             <input type='submit' name='vaciar' value='Vaciar Cesta' />
 +
         {/if}
 
     </form>
 
     </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>
 
</source>
 
;pagar.php
 
;pagar.php

Revisión de 00:26 16 ene 2015

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




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
     <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}
pagar.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>?");
?>
producto.php

Aquí procesaremos el click que haya realizado el cliente (nuevo producto, pagar o vaciar cesta).

// 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');
}