Ajouter une variable personnalisée au contenu du panier
-
-
$mmidexiste-t-il unnouveau champ deformulaire dans leformulaire d'ajout aupanier?$mmid is a new form field inside the add to cart form?
- 0
- 2014-03-20
- passatgt
-
Oui $mmidest unnouveau champ deformulaire.Jepeux voir la valeurpassée à lafonction add_to_cartmaisje nepeuxpas l'obtenir via lapage dupanier.Yes $mmid is a new form field.I can see the value passed to the add_to_cart function but can't get it through the cart page.
- 0
- 2014-03-20
- Prithviraj Mitra
-
1 réponses
- votes
-
- 2014-03-20
J'ai dûfaire quelque chose de similaireil y a quelquetemps,c'est ce quifonctionnaitpourmoi:
Dans l'exemple,lenom d'entréepersonnaliséest "test_field" dans leformulaire d'ajout aupanier,et de cettefaçon,lorsque vous videz le cart_contents,vouspouvez voir la valeur quelquepart à lafin
//Store the custom field add_filter( 'woocommerce_add_cart_item_data', 'add_cart_item_custom_data_vase', 10, 2 ); function add_cart_item_custom_data_vase( $cart_item_meta, $product_id ) { global $woocommerce; $cart_item_meta['test_field'] = $_POST['test_field']; return $cart_item_meta; } //Get it from the session and add it to the cart variable function get_cart_items_from_session( $item, $values, $key ) { if ( array_key_exists( 'test_field', $values ) ) $item[ 'mmCentre' ] = $values['test_field']; return $item; } add_filter( 'woocommerce_get_cart_item_from_session', 'get_cart_items_from_session', 1, 3 );
I had to do something similar a while ago, this is what was working for me:
In the example, the custom input name is "test_field" inside the add to cart form, and this way when you dump the cart_contents, you can see the value somewhere at the end
//Store the custom field add_filter( 'woocommerce_add_cart_item_data', 'add_cart_item_custom_data_vase', 10, 2 ); function add_cart_item_custom_data_vase( $cart_item_meta, $product_id ) { global $woocommerce; $cart_item_meta['test_field'] = $_POST['test_field']; return $cart_item_meta; } //Get it from the session and add it to the cart variable function get_cart_items_from_session( $item, $values, $key ) { if ( array_key_exists( 'test_field', $values ) ) $item[ 'mmCentre' ] = $values['test_field']; return $item; } add_filter( 'woocommerce_get_cart_item_from_session', 'get_cart_items_from_session', 1, 3 );
-
Mercibeaucouppour votre suggestion.Je vais l'essayer ce soir carje n'aipas accès auxfichiers.Je vousinformerai de la sortie.Maisje pense que celafonctionnera.Many thanks for your suggestion.I will try it tonight as I don't have the access to the files.I will let you know about the output.But I think it will work.
- 0
- 2014-03-20
- Prithviraj Mitra
-
Impressionnant.Celafonctionnemaintenant,mercibeaucouppour votre aide.Awesome. It is working now.Many thanks for your help mate.
- 0
- 2014-03-20
- Prithviraj Mitra
J'ai ajouté une variablepersonnalisée dans lapage de détail duproduitet jepeuxtransmettre la valeur de la variablepersonnalisée à lafonction d'ajout aupanier.
La variable
$mmCentre
est donc la variablepersonnalisée,maintenantje l'aifaitLeproblèmeest queje nepeuxpas obtenir cette valeur dans lapage dupanier.J'aifait un vidage de cart_contentsmaisje nepeuxpas voir la valeurpassée dans letableau.
Pouvez-vousme suggérer ce queje fais demal?