public function getCount($condition, $orderBy = null, $limit = null, $offset = null) { if ($condition) { $condition = "WHERE " . $condition; } if ($orderBy) { $orderBy = " ORDER BY " . $orderBy; } if ($limit) { if ($offset) { $limit = "LIMIT " . $offset . ", " . $limit; } else { $limit = "LIMIT " . $limit; } } if ($this->model->getVariantMode() == OnlineShop_Framework_IProductList::VARIANT_MODE_INCLUDE_PARENT_OBJECT) { $query = "SELECT count(DISTINCT o_virtualProductId) FROM " . $this->model->getCurrentTenantConfig()->getTablename() . " a " . $this->model->getCurrentTenantConfig()->getJoins() . $condition . $orderBy . " " . $limit; } else { $query = "SELECT count(*) FROM " . $this->model->getCurrentTenantConfig()->getTablename() . " a " . $this->model->getCurrentTenantConfig()->getJoins() . $condition . $orderBy . " " . $limit; } OnlineShop_Plugin::getSQLLogger()->log("Query: " . $query, Zend_Log::INFO); $result = $this->db->fetchOne($query); OnlineShop_Plugin::getSQLLogger()->log("Query done.", Zend_Log::INFO); return $result; }