Actualizado el 10/04/2007 < > 0 Comentarios
Resúmen: Uso de la librería PHPLIB para construir un carro de compra. Utilización de cookies.
Ya dijimos que gracias al control de sesiones sería trivial construir una cesta de la compra. Pues PHPLIB incluye una clase llamada "Cart" que es precisamente esto, una cesta de la compra.
El comercio electrónico siempre obliga a que a la hora de comprar el cliente vaya teniendo su carro de compra con los productos que ha ido adquiriendo. El mecanismo por el que se suele mantener este estado del cliente es mediante cookies, aunque ya vimos que PHPLIB podía evitar el uso de "cookies" utilizando el método GET.
La cesta de la compra en PHPLIB es un conjunto de artículos que se almacenan en la base de datos. PHPLIB nos proporciona una API sencillo para añadir, consultar o borrar la lista de artículos en la bolsa de la compra. Para crear nuestra cesta de la compra necesitaremos en general realizar una nueva clase de cesta de la compra basada en "Cart", principalmente para controlar la visualización de los productos, tal y como se muestra a continuación:
class Mi_Cesta extends Cart {
var $classname = "Mi_Cesta";
// Base de datos donde guardamos los artículos
var $database_class = "DB_Article";
var $database_table = "articles";
var $db;
var $sum = 0; function show_cart_open() {
printf("<table class=cart_table>n");
$this->sum = 0; }
function show_cart_close() {
printf("</table>n");
printf("That's a total of %s.n", $this->sum);}
function show_item($art, $num) {
if (!is_object($this->db)) {
$class = $this->database_class;
$this->db = new $class; }
$query = sprintf("select * from %s where artid = '%s'",
$this->database_table, $art);
$this->db->query($query);
while($this->db->next_record()) {
printf(" <tr class=cart_row>n
<td class=cart_cell>%s</td>n",
$this->db->Record["name"]);
printf(" <td class=cart_cell>%s</td>n",
$this->db->Record["price"]);
printf(" <td class=cart_cell>%s</td>n",
$num); $rowsum = $num * $this->db->Record["price"];
$this->sum += $rowsum;
printf(" <td class=cart_cell>%s</td>n",
$rowsum); printf(" <tr>n");} } }
Para utilizar la clase "Cart" vamos a necesitar crear una tabla más donde se encuentren la descripción de todos los artículos que vendamos en nuestra tienda. Esta tabla la podemos crear dentro de una base de datos propia para cada uno de nuestros clientes, base de datos que también deberá tener la información de "active_sessions" y "auth_user".
Un ejemplo sencillo podría ser:
# # Estructura de la tabla de 'articles' # CREATE TABLE articles ( name text, price float(8,2), artid int(11) DEFAULT '0' NOT NULL auto_increment, PRIMARY KEY (artid) );
En la documentación de PHPLIB se encuentran todos los detalles necesarios para un uso completo de esta clase. Su descripción completa desbordaría el espacio del que disponemos para este artículo.
Publicado el 10/04/2007, última actualización 10/04/2007.
Seguir @laweberaAutor: Alvaro del Castillo
URL: No especificado
Añadir Comentario
Últimas Novedades
2006 - 2012 © LaWebera.es
Aviso Legal - Privacidad
Alojado en CyberNETicos