[Skip to main content](#vessel-content)

#   Modifier une variable dans une session

##

- **[nilegoff](/forum/user/11694-nilegoff "View nilegoff's Profile")**
- [![nilegoff's Avatar](https://www.hikashop.com/media/kunena/core/svg/person.svg)](/forum/user/11694-nilegoff "View nilegoff's Profile") Topic Author
- [ Offline](/forum/user/11694-nilegoff)

Less More

- Posts: 99
- Thank you received: 3
-
-
-

12 years 10 months ago -  12 years 10 months ago [\#135923](#135923) by [nilegoff](/forum/user/11694-nilegoff "View nilegoff's Profile")  *[Modifier une variable dans une session](/forum/5-support-en-francais-french-support-/864229-modifier-une-variable-dans-une-session#135923 "-- HikaShop version -- : 2.2.2 -- Joomla version -- : 3.2 -- PHP version -- :5.3.17  Bonjour  Comme deja exposé dans un topic precedent, vous proposiez de modifier la variable de session adresse de livraison avec:  J'essaye de mettre en place cela mais rien ne se passe.  Voici ma fonction onBeforeOrderCreate que j'ai creer, et je ne vois pas l'erreur.  Merci par avance pour votre aide.  Nicolas")* was created by *[nilegoff](/forum/user/11694-nilegoff "View nilegoff's Profile")*

-- HikaShop version -- : 2.2.2
-- Joomla version -- : 3.2
-- PHP version -- :5.3.17

Bonjour

Comme deja exposé dans un topic precedent, vous proposiez de modifier la variable de session adresse de livraison avec: Code:

$app=JFactory::getApplication(); $app-&gt;setUserState('com_hikashop.shipping_address',$address_id);

[ ](http://www.hikashop.com/forum/5-support-en-francais-french-support-/863024-forcer-une-adresse-de-livraison.html)[ www.hikashop.com/forum/5-support-en-fran...se-de-livraison.html](http://www.hikashop.com/forum/5-support-en-francais-french-support-/863024-forcer-une-adresse-de-livraison.html)

J'essaye de mettre en place cela mais rien ne se passe.

Voici ma fonction onBeforeOrderCreate que j'ai creer, et je ne vois pas l'erreur.
Code:

function onBeforeOrderCreate(&amp;$order, &amp;$do){ $app = JFactory::getApplication(); $shipping_method = $app-&gt;getUserState('com_hikashop.shipping_data'); if ($shipping_method[0]-&gt;id_relais!='0') //Mise en memoire de l'adresse et creation de l'adresse du relais { $user_id = hikashop_loadUser();//chargement de l'id du client $address_company=$shipping_method[0]-&gt;shipping_name; $address_street=$shipping_method[0]-&gt;adresse1; $address_street2=$shipping_method[0]-&gt;adresse2; $address_post_code=$shipping_method[0]-&gt;cp; $address_city=$shipping_method[0]-&gt;ville; $address_country=$shipping_method[0]-&gt;pays; $address_published='0'; $address_default='0'; $db =&amp; JFactory::getDBO(); // enregistrement de l'adresse du relais dans la base de données $query = "INSERT INTO ".hikashop_table('address')." (address_user_id,address_company, address_street, address_street2, address_post_code, address_city, address_country, address_published, address_default) VALUES ('".$user_id."', '".$address_company."', '".$address_street."', '".$address_street2."', '".$address_post_code."', '".$address_city."', '".$address_country."', '0', '0' )"; $db-&gt;setQuery( $query ); $db-&gt;query(); $db = JFactory::getDBO(); //Recuperation l'id de l'adresse du client qui vient d'etre enregistrer $db-&gt;setQuery('SELECT address_id FROM '.hikashop_table('address').' WHERE address_user_id = '.$user_id. ' ORDER BY address_id DESC LIMIT 1'); $address_id = $db-&gt;loadResult(); $app=JFactory::getApplication();//Rajout l'ID de l'adresse dans la session $app-&gt;setUserState('com_hikashop.shipping_address',$address_id); } $order-&gt;id_relais = $shipping_method[0]-&gt;id_relais; $order-&gt;adresse_relais = $shipping_method[0]-&gt;adresse_relais; }

Merci par avance pour votre aide.

Nicolas

---

Joomla 3

Last edit: 12 years 10 months ago by [nilegoff](/forum/user/11694-nilegoff "View nilegoff's Profile").

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtLzUtc3VwcG9ydC1lbi1mcmFuY2Fpcy1mcmVuY2gtc3VwcG9ydC0vODY0MjI5LW1vZGlmaWVyLXVuZS12YXJpYWJsZS1kYW5zLXVuZS1zZXNzaW9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/register) to join the conversation.

- **[nilegoff](/forum/user/11694-nilegoff "View nilegoff's Profile")**
- [![nilegoff's Avatar](https://www.hikashop.com/media/kunena/core/svg/person.svg)](/forum/user/11694-nilegoff "View nilegoff's Profile") Topic Author
- [ Offline](/forum/user/11694-nilegoff)

Less More

- Posts: 99
- Thank you received: 3
-
-
-

12 years 10 months ago [\#135938](#135938) by [nilegoff](/forum/user/11694-nilegoff "View nilegoff's Profile")  Replied by *[nilegoff](/forum/user/11694-nilegoff "View nilegoff's Profile")* on topic *[Modifier une variable dans une session](/forum/5-support-en-francais-french-support-/864229-modifier-une-variable-dans-une-session#135938 "-- HikaShop version -- : 2.2.2 -- Joomla version -- : 3.2 -- PHP version -- :5.3.17  Bonjour  Comme deja exposé dans un topic precedent, vous proposiez de modifier la variable de session adresse de livraison avec:  J'essaye de mettre en place cela mais rien ne se passe.  Voici ma fonction onBeforeOrderCreate que j'ai creer, et je ne vois pas l'erreur.  Merci par avance pour votre aide.  Nicolas")*

Je me reponds à moi meme apres avoir pris un peu recule et j'ai remplacé Code:

$app-&gt;setUserState('com_hikashop.shipping_address',$address_id);

par Code:

$order-&gt;order_shipping_address_id=$app-&gt;setUserState(HIKASHOP_COMPONENT.'.shipping_address',$address_id);

Cela a l'air de fonctionner.
Pouver vous me confirmer que le code reste sur?

Merci par avance

Nicolas

---

Joomla 3

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtLzUtc3VwcG9ydC1lbi1mcmFuY2Fpcy1mcmVuY2gtc3VwcG9ydC0vODY0MjI5LW1vZGlmaWVyLXVuZS12YXJpYWJsZS1kYW5zLXVuZS1zZXNzaW9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/register) to join the conversation.

- **[nicolas](/forum/user/63-nicolas "View nicolas's Profile")**
- [![nicolas's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar63.png?1793428657)](/forum/user/63-nicolas "View nicolas's Profile")
- [ Away](/forum/user/63-nicolas)

Less More

- Posts: 86323
- Thank you received: 14283
-
-

12 years 10 months ago [\#135942](#135942) by [nicolas](/forum/user/63-nicolas "View nicolas's Profile")  Replied by *[nicolas](/forum/user/63-nicolas "View nicolas's Profile")* on topic *[Modifier une variable dans une session](/forum/5-support-en-francais-french-support-/864229-modifier-une-variable-dans-une-session#135942 "-- HikaShop version -- : 2.2.2 -- Joomla version -- : 3.2 -- PHP version -- :5.3.17  Bonjour  Comme deja exposé dans un topic precedent, vous proposiez de modifier la variable de session adresse de livraison avec:  J'essaye de mettre en place cela mais rien ne se passe.  Voici ma fonction onBeforeOrderCreate que j'ai creer, et je ne vois pas l'erreur.  Merci par avance pour votre aide.  Nicolas")*

Oui c'est la solution. Dans le onBeforeOrderCreate, la variable de session est déjà récupérée par le système pour créer $order qui vous est passé avant la sauvergarde de la commande. Il faut donc directement assigner la valeur dans $order comme vous avez devinez.

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtLzUtc3VwcG9ydC1lbi1mcmFuY2Fpcy1mcmVuY2gtc3VwcG9ydC0vODY0MjI5LW1vZGlmaWVyLXVuZS12YXJpYWJsZS1kYW5zLXVuZS1zZXNzaW9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/register) to join the conversation.

- **[nilegoff](/forum/user/11694-nilegoff "View nilegoff's Profile")**
- [![nilegoff's Avatar](https://www.hikashop.com/media/kunena/core/svg/person.svg)](/forum/user/11694-nilegoff "View nilegoff's Profile") Topic Author
- [ Offline](/forum/user/11694-nilegoff)

Less More

- Posts: 99
- Thank you received: 3
-
-
-

12 years 10 months ago [\#135992](#135992) by [nilegoff](/forum/user/11694-nilegoff "View nilegoff's Profile")  Replied by *[nilegoff](/forum/user/11694-nilegoff "View nilegoff's Profile")* on topic *[Modifier une variable dans une session](/forum/5-support-en-francais-french-support-/864229-modifier-une-variable-dans-une-session#135992 "-- HikaShop version -- : 2.2.2 -- Joomla version -- : 3.2 -- PHP version -- :5.3.17  Bonjour  Comme deja exposé dans un topic precedent, vous proposiez de modifier la variable de session adresse de livraison avec:  J'essaye de mettre en place cela mais rien ne se passe.  Voici ma fonction onBeforeOrderCreate que j'ai creer, et je ne vois pas l'erreur.  Merci par avance pour votre aide.  Nicolas")*

Par contre, après quelques tests, je me suis rendu compte que je perdais, une fois la commande enregistrée, la variable de session concernant l'adresse d'expedition par defaut à pripori.
Si je vais sur historique de commande, tous les prix passe en HT. Si je repasse une autre commande, il me faut choisir l'adresse par 2 fois.

Voyez vous où je peux perdre les informations?

Nicolas

---

Joomla 3

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtLzUtc3VwcG9ydC1lbi1mcmFuY2Fpcy1mcmVuY2gtc3VwcG9ydC0vODY0MjI5LW1vZGlmaWVyLXVuZS12YXJpYWJsZS1kYW5zLXVuZS1zZXNzaW9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/register) to join the conversation.

- **[nicolas](/forum/user/63-nicolas "View nicolas's Profile")**
- [![nicolas's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar63.png?1793428657)](/forum/user/63-nicolas "View nicolas's Profile")
- [ Away](/forum/user/63-nicolas)

Less More

- Posts: 86323
- Thank you received: 14283
-
-

12 years 10 months ago [\#136116](#136116) by [nicolas](/forum/user/63-nicolas "View nicolas's Profile")  Replied by *[nicolas](/forum/user/63-nicolas "View nicolas's Profile")* on topic *[Modifier une variable dans une session](/forum/5-support-en-francais-french-support-/864229-modifier-une-variable-dans-une-session#136116 "-- HikaShop version -- : 2.2.2 -- Joomla version -- : 3.2 -- PHP version -- :5.3.17  Bonjour  Comme deja exposé dans un topic precedent, vous proposiez de modifier la variable de session adresse de livraison avec:  J'essaye de mettre en place cela mais rien ne se passe.  Voici ma fonction onBeforeOrderCreate que j'ai creer, et je ne vois pas l'erreur.  Merci par avance pour votre aide.  Nicolas")*

Cela ne devrait pas être le cas, sauf si vous utiliser le mode "guest". En ce cas, les informations de l'utilisateur sont enlevés de la session après la commande et c'est donc normal.
Cela se fait avec le code:
$app-&gt;setUserState( HIKASHOP_COMPONENT.'.user_id', 0);
dans components/com_hikashop/controllers/checkout.php

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtLzUtc3VwcG9ydC1lbi1mcmFuY2Fpcy1mcmVuY2gtc3VwcG9ydC0vODY0MjI5LW1vZGlmaWVyLXVuZS12YXJpYWJsZS1kYW5zLXVuZS1zZXNzaW9uP3RtcGw9bWFya2Rvd24=) or [Create an account](/register) to join the conversation.

Board Categories HikaShop Install &amp; Update Product &amp; Category Display Content Creation Sales and Orders Orders management Reports &amp; Statistics Customers Checkout Payment Methods Shipping Methods Import &amp; Export (CSV, XLS…) Specific Features Affilation Taxes Wishlist Vote Carousel &amp; Slider Mass Actions Filters &amp; Search Discount &amp; Coupon Feature Request Integrations Showcase General Talk about HikaShop Development HikaShop 3.0 Beta Translation Commercial Jobs HikaShop Components HikaMarket Market: Feature requests Market: How to? Market: Bug Report HikaSerial General talk about HikaSerial Serial: Bug Report Serial: How to? Support en Français de HikaSerial (French Support) HikaSubscription HikaAuction Auction: Feature requests Auction: How to? Auction: Bug report Hikashop around the world Support en Français (French Support) Russian FAQ. Курс выживания с Hikashop. Частые вопросы и о Расширения Hikashop Наши сайты на Hikashop 日本語版サポート(Japanese Support) Thai German Archives Bug Report How to?

[](/forum/topics/feed/mode-topics?format=feed&type=rss)

Time to create page: 0.085 seconds

[Powered by](/forum/credits) [Kunena Forum](https://www.kunena.org)
