Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Ajouter une page entre la vue produit et le panier
 
Cerben
Jr. Member
 
Total Posts:  9
Joined:  2011-09-05
 

Lu,

Je viens solliciter la communauté pour un petit conseil. Je cherche à intercaler une page d\’options ( ou mes clients pourront acheter des options supplémentaires) entre ma vue produit et le panier. Je souhaite que les informations qu\’ils choisissent apparaissent également sur le panier mais je n\’y arrive pas .(car je veux donner la possibilité à mes clients depuis la vue produit d\’accéder au panier directement (par le bouton classique ) et donc un autre bouton qui appelle ma page et qui elle même possède un bouton ajout panier )
J\’ai ma page phtml avec un block php et une action au niveau du controlleur produit mais je n\’arrive pas a faire passer en plus les traitements effectués sur l\’action AddToCart et donc sur mon panier.
Si quelqu\’un peut m\’aider, m\’apporter un conseil ça me permettrait de comprendre le process de magento (je débute sur magento).
Merci

 
Magento Community Magento Community
Magento Community
Magento Community
 
Magento Lab
Sr. Member
 
Avatar
Total Posts:  77
Joined:  2010-11-09
Paris
 

$params=array(’product_id’=>$product_id, ‘related_product’=>"”,
‘options’=>array($option1=>$option_value1,
$option2=>$option_value2,
etc…

), ‘qty’=>1);
Mage::getSingleton(’checkout/cart’)->addProduct($product, $params);
Mage::getSingleton(’checkout/cart’)->save();

 
Magento Community Magento Community
Magento Community
Magento Community
 
Cerben
Jr. Member
 
Total Posts:  9
Joined:  2011-09-05
 

Lu Webmonster_fr,

Merci de ta réponse, je suis retourné sur mon post et oh joie une réponse.
Merci à toi en tout cas ca fait plaisir j’y croyais plus.
En effet, ca marche par contre une petite question j’imagine que je peux faire passer mes variables via “ $params “ et comment je pourrais faire pour recuperer mes variables dans “ options “ dans ton exemple.

$option_value1=" test 1 ";
$option_value2=" test 2 ";
$id =$_POST['id'];

$cart Mage::getSingleton('checkout/cart');
$params = array(
    
'product_id'=>$id
    
'related_product'=>"",
    
'options'=>array(
        
$option1=>$option_value1,
        
$option2=>$option_value2,),
    
'qty'=>1);

Mage::getSingleton('checkout/cart')->addProduct($_product$params);
Mage::getSingleton('checkout/cart')->save();

Comment faire par exemple pour recuperer la valeur de $option1 ou $option2 ?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Cerben
Jr. Member
 
Total Posts:  9
Joined:  2011-09-05
 

Ok je me reponds a moi meme ca peut aider quelqu’un on sait jamais.

<?php   echo $params['product_id'];  ?>
 
Magento Community Magento Community
Magento Community
Magento Community
 
cyrille42100
Jr. Member
 
Total Posts:  6
Joined:  2012-04-30
 

Bonjour,

Je sais que le sujet date un peu mais j’aurai souhaité savoir sur quel page il fallait faire les modifications car je souhaite faire un peu la même chose et j’aimerais récupérer mes options dans mon panier.

Merci

 
Magento Community Magento Community
Magento Community
Magento Community
 
Cerben
Jr. Member
 
Total Posts:  9
Joined:  2011-09-05
 

Lu cyrille42100,

Pour repondre directement a ta question j’ai crée un .phtml (template quoi...) dans app/design/base/default/catalog/product/view/options.phtml (par exemple).
Alors pour etre passe par la je ne sais pas quoi te dire a part que moi j’ai cree donc un bouton, dans la vue produit, depuis un cms block qui appelle une page cms qui appelle donc mon template.Ensuite je fais passer toutes mes info via un formulaire vers mon .phtml qui lui meme possede un bouton ajout au panier qui transmet aussi toutes mes infos au panier.
Mais attention je prefere te prevenir que ce que j’ ai fait n’est vraiment pas propre.J’ai vraiment galéré apres pour recuperer mes infos (enregistrement en base, + ds l’admin+ds la partie commande des clients ; bref je te deconseille vraiment cette voie.(perso va m’a pris plusierus mois de galere pour rien au final --> oui je suis debutant sur magento et la tche est diificile pour un novice apres il est vrai que je ne connais pas ton niveau.
Je te conseille de te diriger vers un chemin un peu plus propre, c’est a dire je vais essayer de t’aiguiller au mieux:

en fait le but c’est de creer donc un produit personnalisable avec des options donc et de les deplacer sur une page et d’ajouter sur cette page un formulaire (comme celui de la vue produit ) un bouton d’ajout au panier pour faie passer les infos sur le panier.
Ce qu’il faut faire, c’est sur cette page cacher l’affichage des options :
dans /catalog/product/view.phtml (dans ton thème bien sur) , commenter la ligne suivante:

<?php echo $this->getChildChildHtml('container2'''truetrue?>

Tu n’auras plus l’affichage des options sur tes pages produits en principe (encore une fois, pas de quoi tester).

En ce qui concerne la seconde partie, il vaut mieux que tu crées un nouveau module ,avec un controlleur qui héritera du controlleur Mage_Catalog_ProductController, dans lequel tu ajouteras une action “configureAction”.

Comme ça, tu n’auras plus qu’a plus ou moins “copier” le contenu du noeud “catalog_product_view” dans les layout pour pouvoir générer automatiquement les boutons “ajouter au panier” avec les bons paramètres, les options et quelques infos du produit. T’auras juste a créer un autre template en lieu et place du view.phtml utilisé par la page produit

Exemple:

<block type="catalog/product_view" name="produit-configure.info" template="catalog/product/options.phtml">

Voila en esperant que cela puisse t’aider moi depuis j’ai rebroussé chemin avec mon code tres sale pour refaire le code de maniere un peu plus propre (en revoyant un peu magento ca fait pas de mal).

Bon courage a toi.

 
Magento Community Magento Community
Magento Community
Magento Community
 
cyrille42100
Jr. Member
 
Total Posts:  6
Joined:  2012-04-30
 

Merci pour ta réponse ça m’a aiguillé un peu merci je suis débutant aussi sur magento j’ai compris le principe mais ça me parait compliqué pour ajouté un module et tout ça.
En fait je vais t’expliquer ce que je veux faire en gros.
Je souhaiterais ajouter par exemple un input text sur ma page produit (ça je sais faire) mais je souhaiterais ensuite récupérer ce champ pour l’afficher dans mon panier et par la suite sur la commande.
Suis-je obligé de passer par ta méthode ou bien un moyen plus simple peut t-il être envisageable ?

Merci beaucoup.

 
Magento Community Magento Community
Magento Community
Magento Community
 
Cerben
Jr. Member
 
Total Posts:  9
Joined:  2011-09-05
 

Lu,
si tu veux recuperer juste ce champ et le faire passer au panier , peut etre que les sessions pourrait t’aider avec un bon vieux formulaire ou regarde les session sur rmagento (mais perso moi ca a commence comme ca alors attention) ou alors tu te sers deja du formulaire en place dans la vue produit et tu rajoutes tes infos ds le formulaire qui se trouve sur ton view.phtml.Apres a toi de voir.

 
Magento Community Magento Community
Magento Community
Magento Community
 
cyrille42100
Jr. Member
 
Total Posts:  6
Joined:  2012-04-30
 

ok merci et juste pour info on fait comment pour ajouter ses infos au formulaire déjà existant ?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Cerben
Jr. Member
 
Total Posts:  9
Joined:  2011-09-05
 

Je te donne un indice:

....

<form action="<?php echo $this->getSubmitUrl($_product) ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
        <
div class="no-display">
            <
input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
            <
input type="hidden" name="related_product" id="related-products-field" value="" />
        </
div>

......

 
Magento Community Magento Community
Magento Community
Magento Community
 
cyrille42100
Jr. Member
 
Total Posts:  6
Joined:  2012-04-30
 

Merci mais j’avais déjà trouvé le problème c’est comment on récupère la valeur après j’ai essayé de faire un $_POST dans le fichier catalog/product/view/type/default.phtml c’est le fichier ou sont affichés les informations produits du panier mais rien ne s’affiche t’aurais pas un autre petit indice :D ?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Cerben
Jr. Member
 
Total Posts:  9
Joined:  2011-09-05
 

C’est normal tu n’est pas dans le bon fichier car deja pour le panier il faut aller dans le dossier checkout donc:

template/checkout/cart.phtml ou template/checkout/cart/item/defautl.phtml

 
Magento Community Magento Community
Magento Community
Magento Community
 
cyrille42100
Jr. Member
 
Total Posts:  6
Joined:  2012-04-30
 

ah oui autant pour moi je m\’étais trompé dans mon précédent post mais c\’est bien les fichiers que tu me dis ou j\’ai mis mon $_POST mais rien ne s\’affiche…
une autre idée?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Cerben
Jr. Member
 
Total Posts:  9
Joined:  2011-09-05
 

Dsl je peux pas tester car du taf et je fais autre chose que magento en ce moment mais ca devrait marcher , tu peux refaire un autre formulaire classique sur la meme page et passer donc ainsi ttes tes donnees pour etre sur que ca marche ou alors tu peux aussi utiliser les sessions sous magento du style;

Je te donne un exemple apres a toi d’adapter:
tu passes ta variable:

$input_Data_Value "value_a_afficher";
Mage::getSingleton('core/session')->setTransfertDataValue($input_Data_Value );

et tu la recuperes:

$output_Data_ValueMage::getSingleton('core/session')->getTransfertDataValue();$this->__($output_Data_Value);

echo 
$this->__($output_Data_Value);

---> resultat affiche “ value_a_afficher”;

oublie pas le session_start();

voila un moyen de faire ...

 
Magento Community Magento Community
Magento Community
Magento Community
 
cyrille42100
Jr. Member
 
Total Posts:  6
Joined:  2012-04-30
 

Merci à toi pour le coup de main je vais me débrouiller avec ça je te tiens au courant si je trouve.

Merci.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top