Un seul bouton "ajouter au panier"

12 posts in this topic

Posted · Report post

Bonjour,

J'ai déjà posé la question il y a quelques mois, mais je n'ai jamais eu de réponse. Et mon problème est à nouveau d'actualité.

Je n'ai qu'une trentaine de produits à disposition des visiteurs. Certains d'entre eux les connaissent bien et les commandent en quantité.

Aujourd'hui, ils utilisent un tableau Désignation/Prix/Quantité.

Je sais transformer la page achat/index.php et ses satellites pour obtenir ce tableau.

Ce pourquoi j'ai besoin d'aide, c'est pour remplacer les boutons "ajouter au panier" de chaque ligne par le même mais unique en bas de page.

Quelqu'un pour m'aider ?

Merci d'avance.

Cordialement.

PG

Share this post


: post
Share on other sites

Posted · Report post

chaque bouton représente un produit !

Share this post


: post
Share on other sites

Posted · Report post

chaque bouton représente un produit !

Bonjour Paulana,

Ca, je le sais.

Je présente une grille de saisie à l'écran et je veux la récupérer intégralement dans mon panier, avec un seul clic.

Imagine un gestionnaire qui tous les jours valide une commande de multiples produits et qui devrait cliquer sur autant de boutons. Impensable !

Merci d'avance.

PG

Share this post


: post
Share on other sites

Posted · Report post

arf enregistrer plusieurs références par exemple et ajouter le tout a panier en un clic ?

Share this post


: post
Share on other sites

Posted · Report post

la form de base c'est pas trop un pb ... par contre le traitement d'ajout ... faut le revoir car

<form method="POST" action="<?=$wwwroot?>/achat/caddie_ajout.php" name="ajout<?=$prod['id'] ?>">

donc l'ajout au caddie ce fait par la class caddie qui s'appuit sur l'id du produit

pour la page un truc de ce style:

<form method="POST" action="<?=$wwwroot?>/achat/caddie_ajout.php" name="ajoutnew">

<?php

$sql="select * from peel_produits where etat='1'";

$query=mysql_query($sql);

while ($liste=mysql_fetch_array($query)){

?>

<input type=hidden name=id[] value=<?php echo $liste[id];?> ><?php echo $liste[nom];?>

<input type=texte name=qte[] value='1' >

}

?>

<input type=submit name=ajouter>

</form>

et decortiquer le $_REQUEST pour avoir une liste des id et des quantites ;)

par contre au niveau caddie la gestion de l'ajout et retrait au moment de la validation du caddie ... je pense qu'il faut oublier !! ça risque d'etre une usine à gaz !! ;)

j'ai fait un truc mais avec des produits composé de produits ( des kits quoi sur Izzotek ) mais cela veu dire que 1 kit égal un nombre identique de chaque produits composant ce produits ... c'est peut etre pas ça que tu souhaite ?? :)

Share this post


: post
Share on other sites

Posted · Report post

une page essai.php dans /achat/modeles

<?

include("../../configuration.inc.php");

echo "<pre>";

print_r($_REQUEST);

echo "</pre>";

$DOC_TITLE = "[PEEL.FR]";

include("$repertoire_modele/haut.php");

$sql="select * from peel_produits";

$qq=mysql_query($sql);

?>

<table class="tabprod" width="740" cellpadding="5" cellspacing="0" border=2>

<form method="post" action="../caddie_ajout.php" >

<?php

while ($prod=mysql_fetch_array($qq)){

?>

<tr>

<td class="black" valign="top"><?php echo $prod[nom];?>

<b>Quantité : </b>

<select name="qte[<?php echo $prod[id];?>]" class="formulaire1">

<option value="0">0</option>

<option value="1">1</option>

<option value="2">2</option>

<option value="3">3</option>

<option value="4">4</option>

<option value="5">5</option>

</select>

</td>

</tr>

<?php

}

?>

<tr><TD><input type="submit" name="ajout2"></TD></tr>

</form>

</table>

<?

include("$repertoire_modele/bas.php");

reste à traiter le $_REQUEST dans une page pour alimenter le caddie

dans caddie_ajout.php

ajouter en bas du fichier

foreach($_REQUEST['qte'] as $key => $value){

if ($value !="0"){

$_SESSION['caddie']->ajout($key, $value);

}

}

chez moi ça marche ... apres tu vire le echo pre $_REQUEST du haut :)

Share this post


: post
Share on other sites

Posted · Report post

Bonsoir Macao45,

Je viens juste de prendre connaissance de ton aimable travail.

Je vais éplucher ça dès demain et te tiens au courant.

Avec tous mes remerciements.

PG

Share this post


: post
Share on other sites

Posted · Report post

pas de quoi ...

de plus on peut finalement faire du + et du - dans le recap de caddie avant de passer en caisse ...

c'etait donc pas si comliqué ;)

par contre la décos ... j'ai fait vraiment light :)

Share this post


: post
Share on other sites

Posted · Report post

Bonjour à tous, et en particulier à Macao45,

Je viens de tester le code proposé. J'ai quelques variations, sans doute dues à ma version de Peel (la dernière).

La mise en page est pour l'instant le dernier de mes soucis.

Par contre, il faut ajouter dans caddie_ajout.php

$_SESSION['caddie']->ajout($key, $value);

$_SESSION['caddie']->recalc_total();}

sinon le montant total du panier n'est pas recalculé.

Je vais insister car je ne trouve pas le moyen de changer de page après appui sur le bouton.

Au lieu de réafficher la grille de saisie, j'aimerai passer directement à la page /achat/caddie_affichage.php

J'ai tenté

<a class="normal" href="<?php echo $wwwroot?>/achat/caddie_affichage.php">

<input type="submit" name="ajout2" value="Commander"></a>

qui reste inefficace.

Où me trompé-je ?

Merci d'avance pour l'aide apportée.

PG

Share this post


: post
Share on other sites

Posted · Report post

je bricolle 2 3 trucs et je te donne ça tres vite :)

Share this post


: post
Share on other sites

Posted · Report post

et voiliiiiiiiiiiiiiii

bon dans mon essai.php il faut changer la form

<form method="post" action="../caddie_affichage.php" >
marche

et du coup dans caddie_affichage.php

il faut mettre

include("../configuration.inc.php");

foreach($_REQUEST['qte'] as $key => $value){

if ($value !="0"){

$_SESSION['caddie']->ajout($key, $value);

}

}

$_SESSION['caddie']->recalc_total();

voila ... bonne ... heu tres bonne journée :)

Share this post


: post
Share on other sites

Posted · Report post

Euh ! quel âne suis-je ... :)

J'ai encore bien du boulot sur ce site, mais tu viens de me tirer une énorme épine du pied.

Encore une fois mille mercis.

Bonne continuation, en particulier dans l'art de la bidouille ;)

PG

Share this post


: post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

Twitter Advisto ecommerce

Facebook PEEL Shopping