Example #1
0
 private function exportProducts($rootId)
 {
     $groups = new DescendantGroups($rootId);
     $ids = array();
     foreach ($groups as $group) {
         $ids[] = $group->id();
     }
     if ($rootId) {
         $ids[] = $rootId;
     }
     $q = createQuery("\r\n\t\t\tSELECT product_id, group_id\r\n\t\t\tFROM cf_products_in_groups\r\n\t\t\tINNER JOIN cf_groups ON cf_products_in_groups.group_id = cf_groups.id\r\n\t\t\tWHERE group_id IN (" . implode(',', $ids) . ")\r\n\t\t\tGROUP BY product_id\r\n\t\t\tORDER BY cf_groups.sort_order, cf_products_in_groups.sort_order\r\n\t\t");
     $q->execute();
     while ($q->fetch()) {
         $productId = $q->at('product_id');
         $groupId = $q->at('group_id');
         $product = new Product($productId);
         $inGroups = new ProductGroups($productId);
         $manufacturer = new Manufacturer($product->manufacturerId());
         $this->exportProduct($product, $groupId, $manufacturer);
         $options = new ProductOptions($productId);
         foreach ($options as $option) {
             $this->exportProduct($product, $groupId, $manufacturer, $option);
         }
     }
     $q->close();
 }