public static function addItem($product, $vm1m) { // internal error: if (empty($product->virtuemart_product_id)) { return; } foreach (OPCXmlExport::$classes as $class) { if (method_exists($class, 'addItem')) { // check the shopper group: if (empty($product->shoppergroups) || in_array($class->config->shopper_group, $product->shoppergroups)) { if (in_array($class->config->child_type, $product->child_type)) { $product2 = $product; OPCXmlExport::updateProduct($product2, $class, $vm1); //get pairing info: //if (!empty($product->categories)) if (!empty($vm1['cats'])) { //$product2->paired_category_name = reset($vm1['cats']); $deepestcat = $vm1['longest_cats'][count($vm1['longest_cats']) - 1]; $product2->paired_category_name = $deepestcat; if (!empty($vm1['longest_cat_id'])) { // take the first: $cat_id = $vm1['longest_cat_id']; //$product->categories[0]; $default = new stdClass(); $entity = $class->entity; $res = OPCconfig::getValue('xmlexport_pairing', $entity, $cat_id, $default); if (!empty($res) && !empty($res->txt)) { $product2->paired_category_name = $res->txt; } $product2->pairedObj = $res; } } else { $product2->paired_category_name = ''; } $ret = $class->addItem($product2, $vm1); $class->writer->write($ret); } } } } }