Trying to get property of non-object
Kzey
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Kzey Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Kzey Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans ce bout de code dédier à l'import des produits d'un sites web depuis un autre site, j'ai l'erreur suivante que je n'arrive pas à resoudre :
PS: Mieux vaut copier ce code sur un dossier .php pour que ce soit plus lisible ^^
Notice: Trying to get property of non-object in C:\etc etc on line 949
NULL
<?
function Import_product_option()//ok
{
global $product_optionsxml;
global $bdd;
foreach ($product_optionsxml->children()->children() as $ressource_product_options)
{
try {
$webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG);//met la connection dans une variable
$xml_product_options = $webService->get(array('url' => PS_SHOP_PATH.'/api/product_options?schema=blank'));//on recupere un shemas blanc xml
$id_product_options = $ressource_product_options-> id;
$is_color_group_product_options = $ressource_product_options-> is_color_group;
$group_type_product_options = $ressource_product_options-> group_type;
$position_product_options = $ressource_product_options-> position;
$name_product_options = $ressource_product_options-> name ->language[0][0];
$public_name_product_options = $ressource_product_options-> public_name->language[0][0];
$id_assos_product_options = $ressource_product_options->associations->product_option->product_option->id;
var_dump($id_assos_product_options);
die($id_assos_product_options);
$xml_product_options->product_option -> is_color_group = $is_color_group_product_options;
$xml_product_options->product_option -> group_type = $group_type_product_options;
$xml_product_options->product_option -> position = $position_product_options;
$xml_product_options->product_option -> name->language[0][0] = $name_product_options;
$xml_product_options->product_option -> public_name->language[0][0] = $public_name_product_options;
$xml_product_options->product_option ->associations->product_option->product_option->id = $id_assos_product_options;
$opt_product_options = array('resource' => 'product_options');//créer un tableau de la ressource que l'on veux
$opt_product_options['postXml'] = $xml_product_options->asXML();//met le tableau au format xml
$xml_product_options = $webService->add($opt_product_options);//envoie le xml a prestashop
// $monid_product_feature = $xml_product_feature->product_feature_values->id;//récupere l'id inséré dans prestashop par auto increment
// $bdd->query('UPDATE `prestashop`.`ps_product_feature` SET `id_product_feature` = '.$id_product_feature.' WHERE `ps_product_feature`.`id_product_feature` = '.$monid_product_feature.'');//envoie la nouvelle id
}
catch (PrestaShopWebserviceException $e)
{
// Here we are dealing with errors
$trace = $e->getTrace();
if ($trace[0]['args'][0] == 404) echo 'Bad ID';
else if ($trace[0]['args'][0] == 401) echo 'Bad auth key';
else echo 'Other error<br />'.$e->getMessage();
}
}
}
la ligne d'erreur en question ici est ligne 20 "$id_assos_product_options = $ressource_product_options->associations->product_option->product_option->id;"
Je n'arrive pas à résoudre cette erreur pourtant le code en soit fonctionne très bien dans la pratique, il ne me reste que cette erreur à corriger.
Merci d'avance :)
Dans ce bout de code dédier à l'import des produits d'un sites web depuis un autre site, j'ai l'erreur suivante que je n'arrive pas à resoudre :
PS: Mieux vaut copier ce code sur un dossier .php pour que ce soit plus lisible ^^
Notice: Trying to get property of non-object in C:\etc etc on line 949
NULL
<?
function Import_product_option()//ok
{
global $product_optionsxml;
global $bdd;
foreach ($product_optionsxml->children()->children() as $ressource_product_options)
{
try {
$webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG);//met la connection dans une variable
$xml_product_options = $webService->get(array('url' => PS_SHOP_PATH.'/api/product_options?schema=blank'));//on recupere un shemas blanc xml
$id_product_options = $ressource_product_options-> id;
$is_color_group_product_options = $ressource_product_options-> is_color_group;
$group_type_product_options = $ressource_product_options-> group_type;
$position_product_options = $ressource_product_options-> position;
$name_product_options = $ressource_product_options-> name ->language[0][0];
$public_name_product_options = $ressource_product_options-> public_name->language[0][0];
$id_assos_product_options = $ressource_product_options->associations->product_option->product_option->id;
var_dump($id_assos_product_options);
die($id_assos_product_options);
$xml_product_options->product_option -> is_color_group = $is_color_group_product_options;
$xml_product_options->product_option -> group_type = $group_type_product_options;
$xml_product_options->product_option -> position = $position_product_options;
$xml_product_options->product_option -> name->language[0][0] = $name_product_options;
$xml_product_options->product_option -> public_name->language[0][0] = $public_name_product_options;
$xml_product_options->product_option ->associations->product_option->product_option->id = $id_assos_product_options;
$opt_product_options = array('resource' => 'product_options');//créer un tableau de la ressource que l'on veux
$opt_product_options['postXml'] = $xml_product_options->asXML();//met le tableau au format xml
$xml_product_options = $webService->add($opt_product_options);//envoie le xml a prestashop
// $monid_product_feature = $xml_product_feature->product_feature_values->id;//récupere l'id inséré dans prestashop par auto increment
// $bdd->query('UPDATE `prestashop`.`ps_product_feature` SET `id_product_feature` = '.$id_product_feature.' WHERE `ps_product_feature`.`id_product_feature` = '.$monid_product_feature.'');//envoie la nouvelle id
}
catch (PrestaShopWebserviceException $e)
{
// Here we are dealing with errors
$trace = $e->getTrace();
if ($trace[0]['args'][0] == 404) echo 'Bad ID';
else if ($trace[0]['args'][0] == 401) echo 'Bad auth key';
else echo 'Other error<br />'.$e->getMessage();
}
}
}
la ligne d'erreur en question ici est ligne 20 "$id_assos_product_options = $ressource_product_options->associations->product_option->product_option->id;"
Je n'arrive pas à résoudre cette erreur pourtant le code en soit fonctionne très bien dans la pratique, il ne me reste que cette erreur à corriger.
Merci d'avance :)
A voir également:
- Trying to get property of non-object
- Shockwave flash object - Télécharger - Divers Web & Internet
- Qwerty to azerty - Guide
- Get data back - Télécharger - Récupération de données
- Video to video - Télécharger - Conversion & Codecs
- Your device ran into a problem and needs to restart - Forum Windows 10
2 réponses
Salut,
cela veut dire que dans $ressource_product_options->associations->product_option->product_option,
il y en a un qui n'est pas un objet car il a la valeur null, et je pense que c'est ressource_product_options.
var_dump(gettype($ressource_product_options));
׺°"~'"°º×]|I{*------» LÖBÖTÖ «------*}I|[׺°"~'"°º×
cela veut dire que dans $ressource_product_options->associations->product_option->product_option,
il y en a un qui n'est pas un objet car il a la valeur null, et je pense que c'est ressource_product_options.
var_dump(gettype($ressource_product_options));
׺°"~'"°º×]|I{*------» LÖBÖTÖ «------*}I|[׺°"~'"°º×