Bonjour à vous,
ORM: Propel
Objectif: transférer une ancienne commande dans le panier
Fonctionnement: actuellement, le panier se met à jour normalement, c'est à dire en ajoutant un produit en fonction de son ID.
Problème: lorsque je veux transmettre une commande dans le panier, il y à donc plusieurs ID de produit à transmettre, or je bloque la dessus.... tout bête hein? (vive symfony... '^^)
...\www\apps\frontend\modules\order\templates\showSuccess.php
Visuel:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <div class="ligne legend"> <div class="span-3">Produit</div> <div class="span-1">Qté</div> <div class="span-1">Prix unitaire</div> <div class="span-1 outils last">Total</div> </div> <?php $cpt_id = 0; ?> <?php foreach ($products as $product): ?> <div class="ligne new"> <div class="span-3 titreNew"> <h3><?php echo $product->getProductSelling()->getName() ?></h3> </div> <div class="span-1"><?php echo $product->getQuantity() ?></div> <div class="span-1"><?php echo $product->getPrice() ?> €</div> <div class="span-1 outils last"> <?php echo ($product->getQuantity()*$product->getPrice())?> € </div> <?php $tb_id[$cpt_id] = $product->getProductSelling()->getId(); ?> <?php $cpt_id++; ?> </div> <?php endforeach ?> ~~~~~~~~~~~~ // Tentative d'envoi des ID via un tableau <?php foreach ($tb_id as $i => $value) { ?> <?php echo form_tag('shoppingcart/add') ?> <?php echo input_hidden_tag('id', $tb_id[$i]) ?> <?php echo submit_tag('Ajouter au panier', 'class="bt_action"') ?> </form> <?php } ?>
J'ai mis que un seul bouton "Ajouter au panier" mais actuellement il y en a 3 à cause du foreach que j'ai ajouté (fin du code précédent).
Le problème est que la page qui récupère les données (le panier -> shoppingcart/add) ne fonctionne qu'avec un identifiant unique, et non un tableau d'identifiants.
...\www\apps\frontend\modules\shoppingcart\templates\listSuccess.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <div class="span-4"> <table> <tr> <th id="produit">Produit</th> <th id="xfr">XFR</th> <th id="qte">Qte</th> <th id="unit" class="right">Prix unitaire</th> <th id="total" class="right">Total</th> <th id="total" class="right" style="border-bottom:0px;"> </th> </tr> <?php foreach ($items as $item): ?> <?php $object = call_user_func(array($item->getClass().'Peer', 'retrieveByPk'), $item->getId()) ?> <tr id="<?php echo 'itemX_'.$item->getId() ?>"> <td><em><?php echo link_to($object->getName(), 'com_support/view?id='.$object->getId()) ?></em> </td> <td><?php echo $object->getXfrVisuel() ?></td> <td><?php echo input_tag('quantity_'.$item->getId(), $item->getQuantity(), 'size="1"') ?></td> <td class="right"><span id="<?php echo 'price_'.$item->getId() ?>"><?php echo format_currency($item->getPrice()) ?></span> HT</td> <td class="right"><span id="<?php echo 'total_price_'.$item->getId() ?>"><?php echo format_currency($item->getPrice() * $item->getQuantity()) ?></span></td> <td style="border-bottom:0px;"> <a href="#" onClick="ClearInput('<?php echo 'quantity_'.$item->getId() ?>');"><img alt="Supprimer" title="Supprimer" src="/www.extranetvelux.com/www/web/images/icon/cross.png"></a></td> </tr> <?php endforeach ?> [etc...]
Visuel:
Dans le cas présent, j'ai cliqué sur le bouton "Ajouter au panier" correspondant à la Carte de visite.
Donc pour récapituler, j'arrive a envoyer ligne par ligne ma commande dans le panier, en cliquant sur le "Ajouter au panier" de chaque produit, mais je souhaiterais envoyer toutes les lignes de la commande d'un seul coup.
Dois-je changer le fonctionnement du panier lui-même ou y a-t'il une astuce pour récupérer le tableau d'identifiant et de les traiter un par un.
Attention, sans $_POST $_GET svp... made in symfony
J'ai essayé d'être clair (j'ai du mal sa ^^) et concis, donc si jamais vous avez des questions, ou si vous avez besoin d'avoir plus de code pour analyser le problème, n'hésitez pas à me demander.
Sa me déprime vraiment de buggé sur un problème aussi simple que sa...![]()
Partager