Exemple #1
0
 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);
                 }
             }
         }
     }
 }