Carrello elettronico per e-commerce

Rikk73

Utente Attivo
7 Apr 2015
134
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

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, non mi crea l'xml e va in errore
 

Rikk73

Utente Attivo
7 Apr 2015
134
6
18
Arezzo
non saprei io l'ho appena riprovato e funziona

io faccio i test online, server aruba hosting linux
 

Rikk73

Utente Attivo
7 Apr 2015
134
6
18
Arezzo
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

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
non ci avevo fatto caso, l'ho solo lanciato, stasera lo riprovo meglio :)
 
  • Like
Reactions: Rikk73