fred1roca Posted February 20, 2019 Share Posted February 20, 2019 (edited) en la tabla ps_category_product es donde los productos se pueden vincular con distintas categorias si creo un producto (POST) este se me distribuye en muchas categorías pero si después lo edito (PUT) este se borra de las demás categorías y solo se queda en la default pero alguien me podrian ayudar, como controlo que desde el post solo este en la categoría default <?php $resources->id; $resources->id_manufacturer; $resources->id_supplier; $id_cat = $consultaSql if ($id_cat == null) { $id_cat = 1; } $resources->id_category_default = $id_cat; $resources->new; $resources->cache_default_attribute; $resources->id_default_image = 1; $resources->id_default_combination; $resources->id_tax_rules_group; $resources->position_in_category; $resources->type; $resources->id_shop_default; $refe = $key['articulo']['categoria']['departamento']['nombre']; if ($refe == "") { $refe = "Sin Referencia"; } $resources->reference = $refe; $resources->supplier_reference; $resources->location; $resources->width; $resources->height; $resources->depth; $we = $key['articulo']['peso']; if ($we == '') { $we = 0; } $resources->weight = $we; $resources->quantity_discount; $resources->ean13; $resources->upc; $resources->cache_is_pack; $resources->cache_has_attachments; $resources->is_virtual; $resources->state = 1; $resources->on_sale; $resources->online_only; $resources->ecotax; $resources->minimal_quantity = 1; $prices = $key['articulo']['precio1']; $impuesto = $key['articulo']['impuestoList'][0]['impuesto']; $price = $prices * (($impuesto / 100) + 1); $resources->price = $price; $resources->wholesale_price; $resources->unity; $resources->unit_price_ratio; $resources->additional_shipping_cost; $resources->customizable; $resources->text_fields; $resources->uploadable_files; $resources->active = 1; $resources->redirect_type; $resources->id_product_redirected; $resources->available_for_order = 1; $resources->available_date; $resources->condition; $resources->show_price = 1; $resources->indexed; $resources->visibility; $resources->advanced_stock_management; $resources->date_add = $date['year'] . '-' . $date['mon'] . '-' . $date['mday'] . ' ' . $date['hours'] . ':' . $date['minutes'] . ':' . $date['seconds']; $resources->date_upd = $date['year'] . '-' . $date['mon'] . '-' . $date['mday'] . ' ' . $date['hours'] . ':' . $date['minutes'] . ':' . $date['seconds']; $resources->pack_stock_type = 3; $node = dom_import_simplexml($resources->meta_description->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata meta description")); $resources->meta_description->language[0][0] = "meta description"; $resources->meta_description->language[0][0]['id'] = 1; $resources->meta_description->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $node = dom_import_simplexml($resources->meta_keywords->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata meta keywords")); $resources->meta_keywords->language[0][0] = "meta keywords1, keywords2, keywords3"; $resources->meta_keywords->language[0][0]['id'] = 1; $resources->meta_keywords->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $node = dom_import_simplexml($resources->meta_title->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata meta title")); $resources->meta_title->language[0][0] = "meta title"; $resources->meta_title->language[0][0]['id'] = 1; $resources->meta_title->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $node = dom_import_simplexml($resources->link_rewrite->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata link_rewrite")); $resources->link_rewrite->language[0][0] = "link-rewrite"; $resources->link_rewrite->language[0][0]['id'] = 1; $resources->link_rewrite->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $node = dom_import_simplexml($resources->name->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata name")); $names = (string)$key['articulo']['descripcion']; $resources->name->language[0][0] = $names; $resources->name->language[0][0]['id'] = 1; $resources->name->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $descrip = '' . "<p><span style=\"font-size:10pt;font-family:Arial;font-style:normal;\"> " . $key['articulo']['caracteristicas'] . " </span></p>"; $node = dom_import_simplexml($resources->description->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata description")); $resources->description->language[0][0] = $descrip; $resources->description->language[0][0]['id'] = 1; $resources->description->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $descrip_sh = '' . "<p><span style=\"font-size:10pt;font-family:Arial;font-style:normal;\"> " . $key['articulo']['clave'] . " </span></p>"; $node = dom_import_simplexml($resources->description_short->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata description_short")); $resources->description_short->language[0][0] = $descrip_sh; $resources->description_short->language[0][0]['id'] = 1; $resources->description_short->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $node = dom_import_simplexml($resources->available_now->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata In stock")); $resources->available_now->language[0][0] = "In stock"; $resources->available_now->language[0][0]['id'] = 1; $resources->available_now->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $node = dom_import_simplexml($resources->available_later->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata available_later")); $resources->available_later->language[0][0] = "available_later"; $resources->available_later->language[0][0]['id'] = 1; $resources->available_later->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $resources->associations->categories->addChild('category')->addChild('id', 2); $resources->associations->categories->addChild('category')->addChild('id', $id_cat); $opt = array('resource' => 'products'); $opt['postXml'] = $xml->asXML(); $xml_request = $webService->add($opt); en si mi código es el mismo tanto en la función put y post no encuentro cambio alguno en el código solo los métodos de ejecución Edited February 22, 2019 by fred1roca (see edit history) Link to comment Share on other sites More sharing options...
fred1roca Posted February 22, 2019 Author Share Posted February 22, 2019 On 2/20/2019 at 5:21 PM, fred1roca said: en la tabla ps_category_product es donde los productos se pueden vincular con distintas categorias si creo un producto (POST) este se me distribuye en muchas categorías pero si después lo edito (PUT) este se borra de las demás categorías y solo se queda en la default pero alguien me podrian ayudar, como controlo que desde el post solo este en la categoría default <?php $resources->id; $resources->id_manufacturer; $resources->id_supplier; $id_cat = $consultaSql if ($id_cat == null) { $id_cat = 1; } $resources->id_category_default = $id_cat; $resources->new; $resources->cache_default_attribute; $resources->id_default_image = 1; $resources->id_default_combination; $resources->id_tax_rules_group; $resources->position_in_category; $resources->type; $resources->id_shop_default; $refe = $key['articulo']['categoria']['departamento']['nombre']; if ($refe == "") { $refe = "Sin Referencia"; } $resources->reference = $refe; $resources->supplier_reference; $resources->location; $resources->width; $resources->height; $resources->depth; $we = $key['articulo']['peso']; if ($we == '') { $we = 0; } $resources->weight = $we; $resources->quantity_discount; $resources->ean13; $resources->upc; $resources->cache_is_pack; $resources->cache_has_attachments; $resources->is_virtual; $resources->state = 1; $resources->on_sale; $resources->online_only; $resources->ecotax; $resources->minimal_quantity = 1; $prices = $key['articulo']['precio1']; $impuesto = $key['articulo']['impuestoList'][0]['impuesto']; $price = $prices * (($impuesto / 100) + 1); $resources->price = $price; $resources->wholesale_price; $resources->unity; $resources->unit_price_ratio; $resources->additional_shipping_cost; $resources->customizable; $resources->text_fields; $resources->uploadable_files; $resources->active = 1; $resources->redirect_type; $resources->id_product_redirected; $resources->available_for_order = 1; $resources->available_date; $resources->condition; $resources->show_price = 1; $resources->indexed; $resources->visibility; $resources->advanced_stock_management; $resources->date_add = $date['year'] . '-' . $date['mon'] . '-' . $date['mday'] . ' ' . $date['hours'] . ':' . $date['minutes'] . ':' . $date['seconds']; $resources->date_upd = $date['year'] . '-' . $date['mon'] . '-' . $date['mday'] . ' ' . $date['hours'] . ':' . $date['minutes'] . ':' . $date['seconds']; $resources->pack_stock_type = 3; $node = dom_import_simplexml($resources->meta_description->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata meta description")); $resources->meta_description->language[0][0] = "meta description"; $resources->meta_description->language[0][0]['id'] = 1; $resources->meta_description->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $node = dom_import_simplexml($resources->meta_keywords->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata meta keywords")); $resources->meta_keywords->language[0][0] = "meta keywords1, keywords2, keywords3"; $resources->meta_keywords->language[0][0]['id'] = 1; $resources->meta_keywords->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $node = dom_import_simplexml($resources->meta_title->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata meta title")); $resources->meta_title->language[0][0] = "meta title"; $resources->meta_title->language[0][0]['id'] = 1; $resources->meta_title->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $node = dom_import_simplexml($resources->link_rewrite->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata link_rewrite")); $resources->link_rewrite->language[0][0] = "link-rewrite"; $resources->link_rewrite->language[0][0]['id'] = 1; $resources->link_rewrite->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $node = dom_import_simplexml($resources->name->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata name")); $names = (string)$key['articulo']['descripcion']; $resources->name->language[0][0] = $names; $resources->name->language[0][0]['id'] = 1; $resources->name->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $descrip = '' . "<p><span style=\"font-size:10pt;font-family:Arial;font-style:normal;\"> " . $key['articulo']['caracteristicas'] . " </span></p>"; $node = dom_import_simplexml($resources->description->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata description")); $resources->description->language[0][0] = $descrip; $resources->description->language[0][0]['id'] = 1; $resources->description->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $descrip_sh = '' . "<p><span style=\"font-size:10pt;font-family:Arial;font-style:normal;\"> " . $key['articulo']['clave'] . " </span></p>"; $node = dom_import_simplexml($resources->description_short->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata description_short")); $resources->description_short->language[0][0] = $descrip_sh; $resources->description_short->language[0][0]['id'] = 1; $resources->description_short->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $node = dom_import_simplexml($resources->available_now->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata In stock")); $resources->available_now->language[0][0] = "In stock"; $resources->available_now->language[0][0]['id'] = 1; $resources->available_now->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $node = dom_import_simplexml($resources->available_later->language[0][0]); $no = $node->ownerDocument; $node->appendChild($no->createCDATASection("cdata available_later")); $resources->available_later->language[0][0] = "available_later"; $resources->available_later->language[0][0]['id'] = 1; $resources->available_later->language[0][0]['xlink:href'] = $dominio . '/api/languages/1'; $resources->associations->categories->addChild('category')->addChild('id', 2); $resources->associations->categories->addChild('category')->addChild('id', $id_cat); $opt = array('resource' => 'products'); $opt['postXml'] = $xml->asXML(); $xml_request = $webService->add($opt); en si mi código es el mismo tanto en la función put y post no encuentro cambio alguno en el código solo los métodos de ejecución Este código es parte de un foreach que es parte de una función el problema era que las variables contenían basura que no se alcanzaba a limpiar en el siguiente siclo pase a crear instancia en cada siclo para solucionarlo Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now