foreach ($product->categories->category as $cat) { $category = $categories_tree->findInChildren($cat, 'category_ext_id'); if (!isset($zCategory) || isset($category) && $category->level > $zCategory->level) { $zCategory = $category; } } if (isset($zCategory)) { $zProduct->data['product_category_id'] = $zCategory->ival('category_id'); $zProduct->data['product_name'] = $product_name; $zProduct->data['product_price'] = $product_price; $zProduct->data['product_stock'] = $product_stock; $zProduct->save(); // update alias $a = new Alias($db, $zProduct->val('product_alias_id')); if (!$a->is_loaded) { $a->setUrl($zProduct->getAliasUrl()); $a->data['alias_path'] = $zProduct->getAliasPath(); $a->save(); $zProduct->data['product_alias_id'] = $a->ival('alias_id'); $zProduct->save(); } } else { echo sprintf('Cannot find category with ABX id %s for product "%s"<br/>', $cat, $product_name); } } } // if $save_product if (isset($zVariant) && $zProduct->val('product_id') != null) { $zVariant->data['product_variant_ext_id'] = $prod_id; $zVariant->data['product_variant_name'] = $variant_name; $zVariant->data['product_variant_product_id'] = $zProduct->ival('product_id');