Carrello elettronico per e-commerce

  • Creatore Discussione Creatore Discussione Rikk73
  • Data di inizio Data di inizio

Rikk73

Utente Attivo
7 Apr 2015
141
6
18
Arezzo
Salve a tutti, ho scritto qesta classe per gestire un carrello della spesa per un sito e-commerce.
Alcuni metodi sono da implementare a seconda delle esigenze, tipo quello per mostrare il carrello a video.
Ho fatto un piccolo esempio di estensione classe proprio per il metodo showcart(), che ho utilizzato per alcuni test e poi ho lascito nel file.

Spero che sia utile a qualcuno, inoltre sono qui per domande, consigli, suggerimenti o critiche!
 

Allegati

Ciao, non mi crea l'xml e va in errore
 
non saprei io l'ho appena riprovato e funziona

io faccio i test online, server aruba hosting linux
 
Scusa ma credo che, se non hai fatto nessuna modifica, il problema sia nel file esempio.php
Ho caricato un file senza controllarlo, dove testavo la funzione per leggere il file xml che ovviamente nel tuo caso non c'è... nel file c'è questo codice

PHP:
require "cart.class.php";
$cart = new MyCart('Riccardo');
$cart->recoveryCart('cart-log/temp/2016-05-06_Riccardo_in-progress.xml');
$cart->change_currency('USD');
//$cart->remove(1);
$cart->showcart();
/*
*
*/
$data = $cart->CartForm();
var_dump($data);


da modificare in
PHP:
require "cart.class.php";
$cart = new MyCart('Riccardo');
$cart->add('nrArticolo1','descrizione primo  articolo',23,15);
$varianti = ['colore'=>'nero','taglia'=>'xl'];
$cart->add('nrArticolo2','descrizione secondo articolo con varianti',23,15,$varianti);
$cart->showcart();


Inoltre devo fare una piccolissima modifica alla classe, aggiungendo un if qui
PHP:
// aggiunge un articolo
  public function add($art,$desc,$price,$qty,$var=null)
  {
  $pos = count($this->items);
  // cosctruisco l'articolo
  $item['pos'] = $pos;
  $item['art'] = $art;
  $item['desc'] = $desc;
  $item['price'] = $price;
  $item['qty'] = $qty;
  if($var){foreach($var as $k=>$v){$item[$k] = $v;}}
  // lo aggiungo al carrello se non ce n'è uno esattamente uguale
  if(!in_array($item, $this->items)){$this->items[] = $item;}
  else{die("Attenzione! Nel carrello ` già presente un articolo identico!!!");}
  // aggiorno i totali
  $this->totals();
  // salvo il temporaneo su xml
  $this->temp_cart2xml();
  }
 
  • Like
Reactions: criric
non ci avevo fatto caso, l'ho solo lanciato, stasera lo riprovo meglio :)
 
  • Like
Reactions: Rikk73

Discussioni simili