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());
 }