private function countProductsForFilter(array $filters) { $arrColumns = array(); $arrCategories = $this->findCategories(); $queryBuilder = new FilterQueryBuilder($filters); $arrColumns[] = "c.page_id IN (" . implode(',', $arrCategories) . ")"; // Apply new/old product filter if ($this->iso_newFilter == self::FILTER_NEW) { $arrColumns[] = Product::getTable() . ".dateAdded>=" . Isotope::getConfig()->getNewProductLimit(); } elseif ($this->iso_newFilter == self::FILTER_OLD) { $arrColumns[] = Product::getTable() . ".dateAdded<" . Isotope::getConfig()->getNewProductLimit(); } if ($this->iso_list_where != '') { $arrColumns[] = $this->iso_list_where; } if ($queryBuilder->hasSqlCondition()) { $arrColumns[] = $queryBuilder->getSqlWhere(); } return Product::countPublishedBy($arrColumns, $queryBuilder->getSqlValues()); }