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

#   Création de produit en php

##

- **[Minie](/forum/user/43321-minie "View Minie's Profile")**
- [![Minie's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar43321.jpg)](/forum/user/43321-minie "View Minie's Profile") Topic Author
- [ Offline](/forum/user/43321-minie)

Less More

- Posts: 511
- Thank you received: 37
-
-
-

4 years 6 months ago [\#341482](#341482) by [Minie](/forum/user/43321-minie "View Minie's Profile")  *[Création de produit en php](/forum/25-install-update/904384-creation-de-produit-en-php#341482 "Bonjour,  j'ai un souci lors de la création de produit en php, les prix et les images ne s'intègrent pas, le product&#95;sort&#95;price sintègre pourtant  voici le retour en var&#95;dump de l'objet $product après enregistrement :  je ne comprends pas mon erreur en relisant la doc :   www.hikashop.com/support/documentation/157  mon script récupère en boucle les produits de l'ancien site d'un client, fourni en csv, la boucle traite les produits ($item) comme ceci :  Tout le reste fonctionne très bien, sauf l'insertion des tables price et file  Merci d'avance, désolée du dérangement")* was created by *[Minie](/forum/user/43321-minie "View Minie's Profile")*

Bonjour,

j'ai un souci lors de la création de produit en php, les prix et les images ne s'intègrent pas, le product_sort_price sintègre pourtant

voici le retour en var_dump de l'objet $product après enregistrement : Code:

object(stdClass)#366 (12) { ["product_name"]=&gt; string(32) "Vase déco effet bosselé cuivre" ["product_quantity"]=&gt; string(1) "1" ["product_code"]=&gt; string(3) "d17" ["prices"]=&gt; array(1) { [0]=&gt; object(stdClass)#370 (2) { ["price_value"]=&gt; string(5) "17.92" ["price_currency_id"]=&gt; int(1) } } ["categories"]=&gt; array(2) { [0]=&gt; string(3) "546" [1]=&gt; string(3) "519" } ["product_published"]=&gt; int(1) ["images"]=&gt; array(1) { [0]=&gt; object(stdClass)#369 (1) { ["file_name"]=&gt; string(39) "vase-deco-cuivre-thival-concept-big.jpg" } } ["product_modified"]=&gt; int(1652103594) ["product_created"]=&gt; int(1652103594) ["product_type"]=&gt; string(4) "main" ["product_sort_price"]=&gt; float(17.92) ["product_id"]=&gt; int(15) }

je ne comprends pas mon erreur en relisant la doc : [ www.hikashop.com/support/documentation/157](https://www.hikashop.com/support/documentation/157)

mon script récupère en boucle les produits de l'ancien site d'un client, fourni en csv, la boucle traite les produits ($item) comme ceci : Code:

$product = new stdClass(); $product-&gt;product_name = trim($item['Name']); if(empty($item['QtyInStock'])){ $product-&gt;product_quantity = 0; } else{ $product-&gt;product_quantity = $item['QtyInStock']; } $product-&gt;product_code = trim($item['code']); $price = new stdClass(); $price-&gt;price_value = str_replace(',', '.', $item['Price1VATExcluded']); $price-&gt;price_currency_id = 1; $product-&gt;prices = array($price); $category_1 = array_reverse(explode('/', $item['Category1Name']))[0]; $db-&gt;setQuery('SELECT category_id FROM #__hikashop_category WHERE category_name = "'.$category_1 .'"'); $product-&gt;categories[] = $db-&gt;loadResult(); if(!empty($item['Category2Name'])){ $category_2 = array_reverse(explode('/', $item['Category2Name']))[0]; $db-&gt;setQuery('SELECT category_id FROM #__hikashop_category WHERE category_name = "'.$category_2.'"'); $product-&gt;categories[] = $db-&gt;loadResult(); } if(!empty($item['Category3Name'])){ $category_3 = array_reverse(explode('/', $item['Category3Name']))[0]; $db-&gt;setQuery('SELECT category_id FROM #__hikashop_category WHERE category_name = "'.$category_3.'"'); $product-&gt;categories[] = $db-&gt;loadResult(); } $product-&gt;product_published = 1; $url = trim($item['UrlDetailImgFileName']); if($gix_config-&gt;url_exists($url)){ $folder = 'images/'; $filename = basename(parse_url($url, PHP_URL_PATH)); file_put_contents($folder.$filename, file_get_contents($url)); $image = new stdClass(); $image-&gt;file_name = $filename; $product-&gt;images = array($image); } if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR); include_once(rtrim(JPATH_ADMINISTRATOR,DS).DS.'components'.DS.'com_hikashop'.DS.'helpers'.DS.'helper.php'); $productClass = hikashop_get('class.product'); $result = $productClass-&gt;save($product); $productClass-&gt;updateCategories($product, $result);

Tout le reste fonctionne très bien, sauf l'insertion des tables price et file

Merci d'avance, désolée du dérangement

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2luc3RhbGwtdXBkYXRlLzkwNDM4NC1jcmVhdGlvbi1kZS1wcm9kdWl0LWVuLXBocD90bXBsPW1hcmtkb3du) or [Create an account](/component/users/registration?Itemid=101) 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: 86540
- Thank you received: 14299
-
-

4 years 6 months ago -  4 years 6 months ago [\#341485](#341485) by [nicolas](/forum/user/63-nicolas "View nicolas's Profile")  Replied by *[nicolas](/forum/user/63-nicolas "View nicolas's Profile")* on topic *[Création de produit en php](/forum/25-install-update/904384-creation-de-produit-en-php#341485 "Bonjour,  j'ai un souci lors de la création de produit en php, les prix et les images ne s'intègrent pas, le product&#95;sort&#95;price sintègre pourtant  voici le retour en var&#95;dump de l'objet $product après enregistrement :  je ne comprends pas mon erreur en relisant la doc :   www.hikashop.com/support/documentation/157  mon script récupère en boucle les produits de l'ancien site d'un client, fourni en csv, la boucle traite les produits ($item) comme ceci :  Tout le reste fonctionne très bien, sauf l'insertion des tables price et file  Merci d'avance, désolée du dérangement")*

Bonjour,

La fonction save ne sauvegarde que les informations du produit dans la table hikashop_product.
Donc normal que les prices et files ne soient pas prises en compte dans votre code.
Il faut rajouter quelques lignes de code comme pour les catégories: Code:

$productClass-&gt;updatePrices($product, $result); $productClass-&gt;updateFiles($product, $result, 'images'); $productClass-&gt;updateFiles($product, $result, 'files');

Last edit: 4 years 6 months ago by [nicolas](/forum/user/63-nicolas "View nicolas's Profile").

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2luc3RhbGwtdXBkYXRlLzkwNDM4NC1jcmVhdGlvbi1kZS1wcm9kdWl0LWVuLXBocD90bXBsPW1hcmtkb3du) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

- **[Minie](/forum/user/43321-minie "View Minie's Profile")**
- [![Minie's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar43321.jpg)](/forum/user/43321-minie "View Minie's Profile") Topic Author
- [ Offline](/forum/user/43321-minie)

Less More

- Posts: 511
- Thank you received: 37
-
-
-

4 years 6 months ago [\#341498](#341498) by [Minie](/forum/user/43321-minie "View Minie's Profile")  Replied by *[Minie](/forum/user/43321-minie "View Minie's Profile")* on topic *[Création de produit en php](/forum/25-install-update/904384-creation-de-produit-en-php#341498 "Bonjour,  j'ai un souci lors de la création de produit en php, les prix et les images ne s'intègrent pas, le product&#95;sort&#95;price sintègre pourtant  voici le retour en var&#95;dump de l'objet $product après enregistrement :  je ne comprends pas mon erreur en relisant la doc :   www.hikashop.com/support/documentation/157  mon script récupère en boucle les produits de l'ancien site d'un client, fourni en csv, la boucle traite les produits ($item) comme ceci :  Tout le reste fonctionne très bien, sauf l'insertion des tables price et file  Merci d'avance, désolée du dérangement")*

Bonjour,

merci beaucoup, en effet c'est logique ![:)](/media/kunena/emoticons/3.png ":)")

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2luc3RhbGwtdXBkYXRlLzkwNDM4NC1jcmVhdGlvbi1kZS1wcm9kdWl0LWVuLXBocD90bXBsPW1hcmtkb3du) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

- **[Minie](/forum/user/43321-minie "View Minie's Profile")**
- [![Minie's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar43321.jpg)](/forum/user/43321-minie "View Minie's Profile") Topic Author
- [ Offline](/forum/user/43321-minie)

Less More

- Posts: 511
- Thank you received: 37
-
-
-

4 years 6 months ago -  4 years 6 months ago [\#341503](#341503) by [Minie](/forum/user/43321-minie "View Minie's Profile")  Replied by *[Minie](/forum/user/43321-minie "View Minie's Profile")* on topic *[Création de produit en php](/forum/25-install-update/904384-creation-de-produit-en-php#341503 "Bonjour,  j'ai un souci lors de la création de produit en php, les prix et les images ne s'intègrent pas, le product&#95;sort&#95;price sintègre pourtant  voici le retour en var&#95;dump de l'objet $product après enregistrement :  je ne comprends pas mon erreur en relisant la doc :   www.hikashop.com/support/documentation/157  mon script récupère en boucle les produits de l'ancien site d'un client, fourni en csv, la boucle traite les produits ($item) comme ceci :  Tout le reste fonctionne très bien, sauf l'insertion des tables price et file  Merci d'avance, désolée du dérangement")*

Bonjour,

Dans la même série, la fonction updateFiles me pose problème, j'ai l'erreur suivante : Object of class stdClass could not be converted to string
/administrator/components/com_hikashop/classes/product.php:3748

Pourtant l'objet est bien construit selon la doc [ www.hikashop.com/support/documentation/157](https://www.hikashop.com/support/documentation/157)Code:

object(stdClass)#369 (12) { ["product_name"]=&gt; string(34) "Brûleur à huile cylindrique kaki" ["product_quantity"]=&gt; string(1) "1" ["product_code"]=&gt; string(3) "S49" ["prices"]=&gt; array(1) { [0]=&gt; object(stdClass)#366 (8) { ["price_value"]=&gt; string(4) "3.83" ["price_currency_id"]=&gt; int(1) ["price_min_quantity"]=&gt; int(0) ["price_id"]=&gt; string(4) "NULL" ["price_access"]=&gt; string(3) "all" ["price_users"]=&gt; string(0) "" ["price_start_date"]=&gt; int(0) ["price_end_date"]=&gt; int(0) } } ["categories"]=&gt; array(2) { [0]=&gt; string(3) "425" [1]=&gt; string(3) "530" } ["product_published"]=&gt; int(1) ["images"]=&gt; array(1) { [0]=&gt; object(stdClass)#370 (1) { ["file_name"]=&gt; string(40) "bruleur-cylindre-kaki.jpg" } } ["product_modified"]=&gt; int(1652175250) ["product_created"]=&gt; int(1652175250) ["product_type"]=&gt; string(4) "main" ["product_sort_price"]=&gt; float(3.83) ["product_id"]=&gt; int(48) }

ci dessous la partie du code qui concerne l'image : Code:

if(!empty($url) AND $gix_config-&gt;url_exists($url)){ $folder = 'images/'; $filename = str_replace('-big', '', basename(parse_url($url, PHP_URL_PATH))); file_put_contents($folder.$filename, file_get_contents($url)); $image = new stdClass(); $image-&gt;file_name = $filename; $product-&gt;images = array($image); }

la ligne 3748 de la class product
$filter = 'AND file_id NOT IN ('.implode(',',$element-&gt;$type).')';
attend visiblement une liste d'id d'images en tableau, mais bien sur on ne peut connaitre l'id de l'image avant que la ligne soit créée dans la table

Last edit: 4 years 6 months ago by [Minie](/forum/user/43321-minie "View Minie's Profile").

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2luc3RhbGwtdXBkYXRlLzkwNDM4NC1jcmVhdGlvbi1kZS1wcm9kdWl0LWVuLXBocD90bXBsPW1hcmtkb3du) or [Create an account](/component/users/registration?Itemid=101) 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: 86540
- Thank you received: 14299
-
-

4 years 6 months ago -  4 years 6 months ago [\#341505](#341505) by [nicolas](/forum/user/63-nicolas "View nicolas's Profile")  Replied by *[nicolas](/forum/user/63-nicolas "View nicolas's Profile")* on topic *[Création de produit en php](/forum/25-install-update/904384-creation-de-produit-en-php#341505 "Bonjour,  j'ai un souci lors de la création de produit en php, les prix et les images ne s'intègrent pas, le product&#95;sort&#95;price sintègre pourtant  voici le retour en var&#95;dump de l'objet $product après enregistrement :  je ne comprends pas mon erreur en relisant la doc :   www.hikashop.com/support/documentation/157  mon script récupère en boucle les produits de l'ancien site d'un client, fourni en csv, la boucle traite les produits ($item) comme ceci :  Tout le reste fonctionne très bien, sauf l'insertion des tables price et file  Merci d'avance, désolée du dérangement")*

Bonjour,

Il vous faut en effet d'abord sauvegarder les images dans la table hikashop_file. Dans $product-&gt;images vous devait avoir un array des ids des éléments dans la table hikashop_file: Code:

... $result = $productClass-&gt;save($product); $image = new stdClass(); $image-&gt;file_name = $filename; $image-&gt;file_path = $filename; $image-&gt;file_ref_id = $result; $image-&gt;file_type = 'product'; $fileClass = hikashop_get('class.file'); $file_id = $fileClass-&gt;save($image); $product-&gt;images = array($file_id); $productClass-&gt;updateFiles($product, $result, 'images'); ...

Last edit: 4 years 6 months ago by [nicolas](/forum/user/63-nicolas "View nicolas's Profile").

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2luc3RhbGwtdXBkYXRlLzkwNDM4NC1jcmVhdGlvbi1kZS1wcm9kdWl0LWVuLXBocD90bXBsPW1hcmtkb3du) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

- **[Minie](/forum/user/43321-minie "View Minie's Profile")**
- [![Minie's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar43321.jpg)](/forum/user/43321-minie "View Minie's Profile") Topic Author
- [ Offline](/forum/user/43321-minie)

Less More

- Posts: 511
- Thank you received: 37
-
-
-

4 years 5 months ago [\#341725](#341725) by [Minie](/forum/user/43321-minie "View Minie's Profile")  Replied by *[Minie](/forum/user/43321-minie "View Minie's Profile")* on topic *[Création de produit en php](/forum/25-install-update/904384-creation-de-produit-en-php#341725 "Bonjour,  j'ai un souci lors de la création de produit en php, les prix et les images ne s'intègrent pas, le product&#95;sort&#95;price sintègre pourtant  voici le retour en var&#95;dump de l'objet $product après enregistrement :  je ne comprends pas mon erreur en relisant la doc :   www.hikashop.com/support/documentation/157  mon script récupère en boucle les produits de l'ancien site d'un client, fourni en csv, la boucle traite les produits ($item) comme ceci :  Tout le reste fonctionne très bien, sauf l'insertion des tables price et file  Merci d'avance, désolée du dérangement")*

Bonjour,

je n'ai pas reçu la notification de réponse au sujet, me voilà donc une semaine plus tard, arriver ici pensant qu'il n'y avait pas de réponse ![:)](/media/kunena/emoticons/3.png ":)") donc contente d'en trouver une !

Merci pour votre réponse complète, j'avais donc fait une requête sql à l'arrache pour ajouter les images dans hikashop_file.

Une fois que les lignes sont insérées dans hikashop_file, le file_ref_id est présent et l'image est donc liées au produit, donc si je comprends bien d'après la lecture de la fonction updateFiles dans le fichier class product, celle ci permet la création de la miniature et l'ordering des fichiers ?

Pardonnez cette question de pure curiosité / intérêt du fonctionnement hikashop, nous développons énormément avec hikashop justement car l'extension est très orientée développeurs (et encore merci beaucoup pour ca, c'est vraiment top)

Merci ![:)](/media/kunena/emoticons/3.png ":)")

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2luc3RhbGwtdXBkYXRlLzkwNDM4NC1jcmVhdGlvbi1kZS1wcm9kdWl0LWVuLXBocD90bXBsPW1hcmtkb3du) or [Create an account](/component/users/registration?Itemid=101) 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: 86540
- Thank you received: 14299
-
-

4 years 5 months ago [\#341727](#341727) by [nicolas](/forum/user/63-nicolas "View nicolas's Profile")  Replied by *[nicolas](/forum/user/63-nicolas "View nicolas's Profile")* on topic *[Création de produit en php](/forum/25-install-update/904384-creation-de-produit-en-php#341727 "Bonjour,  j'ai un souci lors de la création de produit en php, les prix et les images ne s'intègrent pas, le product&#95;sort&#95;price sintègre pourtant  voici le retour en var&#95;dump de l'objet $product après enregistrement :  je ne comprends pas mon erreur en relisant la doc :   www.hikashop.com/support/documentation/157  mon script récupère en boucle les produits de l'ancien site d'un client, fourni en csv, la boucle traite les produits ($item) comme ceci :  Tout le reste fonctionne très bien, sauf l'insertion des tables price et file  Merci d'avance, désolée du dérangement")*

Bonjour,

En fait, lorsque vous utilisez l'uploader dans l'interface, HikaShop ajoute déjà l'image dans hikashop_file (et rempli le file_ref_id si l'id du produit est déjà disponible) durant l'upload du produit. Du coup, dans saveForm, la fonction qui gère la sauvegarde de l'interface d'édition d'un produit, c'est une liste de l'id de chaque image qui est récupérée, et donc il n'y a pas de sauvegarde à faire dans hikashop_file. Par contre, vous qu'il est possible de changer l'ordre des images dans l'interface, la fonction updateFiles va pouvoir changer l'ordre des images. Et aussi, lorsqu'un nouveau produit est créé, le file_ref_id n'a pas pu être renseigné durant l'upload. C'est donc updateFiles qui va le rajouter.

Concernant les miniatures, HikaShop fonctionne sur un système en mode "lazy". C'est à dire qu'il ne génère pas de miniature à la sauvegarde. C'est lorsqu'il a besoin d'afficher les miniatures qu'il va regarder si elles sont déjà générées et si non, il va les générer.

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2luc3RhbGwtdXBkYXRlLzkwNDM4NC1jcmVhdGlvbi1kZS1wcm9kdWl0LWVuLXBocD90bXBsPW1hcmtkb3du) or [Create an account](/component/users/registration?Itemid=101) to join the conversation.

- **[Minie](/forum/user/43321-minie "View Minie's Profile")**
- [![Minie's Avatar](https://www.hikashop.com/media/kunena/avatars/resized/size144/users/avatar43321.jpg)](/forum/user/43321-minie "View Minie's Profile") Topic Author
- [ Offline](/forum/user/43321-minie)

Less More

- Posts: 511
- Thank you received: 37
-
-
-

4 years 5 months ago [\#341767](#341767) by [Minie](/forum/user/43321-minie "View Minie's Profile")  Replied by *[Minie](/forum/user/43321-minie "View Minie's Profile")* on topic *[Création de produit en php](/forum/25-install-update/904384-creation-de-produit-en-php#341767 "Bonjour,  j'ai un souci lors de la création de produit en php, les prix et les images ne s'intègrent pas, le product&#95;sort&#95;price sintègre pourtant  voici le retour en var&#95;dump de l'objet $product après enregistrement :  je ne comprends pas mon erreur en relisant la doc :   www.hikashop.com/support/documentation/157  mon script récupère en boucle les produits de l'ancien site d'un client, fourni en csv, la boucle traite les produits ($item) comme ceci :  Tout le reste fonctionne très bien, sauf l'insertion des tables price et file  Merci d'avance, désolée du dérangement")*

Bonjour,

merci beaucoup pour vos explications ![:)](/media/kunena/emoticons/3.png ":)")

Please [Log in](/login?return=aHR0cHM6Ly93d3cuaGlrYXNob3AuY29tL2ZvcnVtL2luc3RhbGwtdXBkYXRlLzkwNDM4NC1jcmVhdGlvbi1kZS1wcm9kdWl0LWVuLXBocD90bXBsPW1hcmtkb3du) or [Create an account](/component/users/registration?Itemid=101) 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.059 seconds

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