Un jour, j'avais besoin d'un panier en php, j'avais recherché sur CS, sans trouver ce que je cherche ... finalement je l'ai fait à la main .
Je le poste pour ceux qui voudrons l'utiliser, mais surtout ajouter des fonctionnalités et le reposter .
Pour l'utilisation, mettez la fichier ajaxcaddie.php là où vous voulez l'afficher ( Je conseil un petit rectangle / onglet comme ds la capture ) .
Vous trouverez qqes explications dans les commentaires, cependant voici un courte description du contenu:
<<< Panel.php >>>
C'est la représentation du panier, une fois crée il doit rester en session tant que vous avez
un session_start(); à l'entete de vos pages. (Un tableau en session)
Variables Traitées :
- Réference : ref;
- Designation : label;
- Quantité : qt;
- Prix : price.
Fonctions :
________________________________________________ __________________
Création du panier
Si panier existant retoune;
Sinon crée la panier et retourne true;
Utilisation --> createPanel()
____________________________________ ______________________________
+add($ref,$label,$ qt,$price)
ajouter un article
@ref : code article
@$label : Designation
@$qt : quantité
@$price : prix
____________________________________________ ______________________
Supression d'un article
* @$ref : Reference de l'élément à supprimer;
Utilisation --> delete($ref){
___________________________________ _______________________________
modifier un article
@ref : Designation de l'élément à modifier;
@qt : La nouvelle quantité;
Utilisation --> modifyQuantity($ref,$qt)
_________________________ _________________________________________
Montant du panier
@return
$total : nombre réel ( montant global )
Utilisation --> getGlobalAmount(){
_______________________________ ___________________________________
Quantité d'un élément
@ref : Référence de l'élément;
@return :
$ret : quantité;
Utilisation --> getQuantityByRef($ref)
___________________________ _______________________________________
Prix d'un élément
@ref : Réference de l'élément;
@return :
$ret : prix;
Utilisation --> getPriceByRef($ref)
______________________________ ____________________________________
Référence d'un élément par sa position
@position : Position de l'élément dans le tableau;
@return :
$ret : la référence;
Utilisation --> getRefByPosition($position)
______________________ ____________________________________________
Desig nation d'un élément par sa position
@position : Position de l'élément dans le tableau;
@return :
$ret : la designation;
Utilisation --> getLabelByPosition($position)
____________________ ______________________________________________
Qua ntité d'un élément par sa position
@position : Position de l'élément dans le tableau;
@return :
$ret : la quantité;
Utilisation --> getQuantityByPosition($position)
_________________ _________________________________________________
Prix d'un élément par sa position
@position : Position de l'élément dans le tableau;
@return :
$ret : le prix;
Utilisation --> getPriceByPosition($position)
____________________ ______________________________________________
Vé rifier si élément est existant
@ref : Réference de l'élément;
Utilisation --> isInPanel($ref)
__________________________________ ________________________________
Nombre d'éléments
@return :
$ret : nombre d'éléments dans le panier;
Utilisation --> getSize()
________________________________________ __________________________
<<< ajaxCaddie.php >>>
Contient script et fonctions qui récupèrent les parametres du script Ajax, ( l'action et les parametres ) , effectue les opérations
demandées ( ajout , suppression ) et retourne le contenu mis à jour du panier .
<<< ajax/ajax_caddie.js >>>
C'est le script ajax, qui interroge ajaxcaddie.php ... je ne sais pas si c'est correcte ou non, mais pour chaque fonction, j'ai mis un CallBack .
_______________________________________________ _________________________________________
Utilisat ion :
---------------
--> Pour afficher le panier, inclure : caddie.php ; (il faut garder les dossiers/fichiers dans la meme hierarchie) .
--> pour ajouter un article :
sur la meme page où est inclu caddie.php , mettez le lien ajouter sur votre article (une image par exemple ...):
<a ... onClick="add('libelle','fileRef','quantité','prix' )" ...>...</a>; (fileRef), à supprimer dans le code si vous n'en avez pas besoin .
--> Supprimer un article se fait par sa reference :
sur le lien de supression ajouter :
<a ... onClick="deleteByRef('ref')" ..>...</a>
===>
Petit bout de code que j'ai utilisé dans site en php de vente de fichiers MP3 ( téléchargement payant ) :
( dans source )