Usuario:ManuelRomero/php/smarty/producto

De WikiEducator
Saltar a: navegación, buscar



Probando el ejemplo

  • Puedes ver esta parte del ejercicio ejecutándose en la web:
http://manuel.infenlaces.com/dwes/tienda/TiendaProductos/login.php

Lista productos

  • Se trata de modificar tanto productos.php, como la plantilla productos.tpl, para obtener un listado de todos los productos
  • Para ello también añadiremos métodos a la clase DB.php.
  • A la vez crearemos la clase Producto.php para obtener de forma más cómoda cada producto como un objeto de la clase Producto a partir de cada fila de la consulta.
  • Directamente vamos a escribir el código
DB.php
  • Debemos hacer una consulta que obtenga todos los productos
  • Para ello añadiremos el método pública obtieneProductos() en la clase DB.php que quedará con lo que tenía

DB2 .png

  • escribimos el código
<?php
require_once('Producto.php');
 
class DB {
 
//..... lo que había
 
/*======================obtieneProducto ()======================================
    Accion: obtiene un array con todos los productos de la bd.
    Parámetros: 
    Retorna  un array de objetos de productos con todos los productos
 * ***********************************************************************************************/  
 
public static function obtieneProductos() {
//....



La clase Producto.php

Producto.png
Esta clase implementa los atributos de la tabla productos y la posibilidad de obtener cada uno de sus atributos.

productos.php
  • Esta parte del código simplemente accede a la base de datos y obtiene todos los productos
  • Los productos quedan disponibles para la plantilla en una variable $productos que es un array asociativo

{{Plegable|hide|productos.php|

<?php
require_once('./../include/DB.php');
require_once('Smarty.class.php');
 
// Recuperamos la información de la sesión
session_start();
....