public function getProductsGroupByCategories(Shopware_StoreApi_Models_Query_Product $productQuery, Shopware_StoreApi_Models_Query_Category $categoryQuery) { if(!$productQuery instanceof Shopware_StoreApi_Models_Query_Product) { return new Shopware_StoreApi_Exception_Response('The parameter productModel is not instance of Shopware_StoreApi_Models_Query_Product', 10); } if(!$categoryQuery instanceof Shopware_StoreApi_Models_Query_Category) { return new Shopware_StoreApi_Exception_Response('The parameter productModel is not instance of Shopware_StoreApi_Models_Query_Category', 10); } $productQueryData = array(); $productQueryData['start'] = $productQuery->getStart(); $productQueryData['limit'] = $productQuery->getLimit(); $productQueryData['orderBy'] = $productQuery->getOrderBy(); $productQueryData['orderDirection'] = $productQuery->getOrderDirection(); $productQueryData['criterion'] = $productQuery->getCriterion(); $categoryQueryData = array(); $categoryQueryData['start'] = $categoryQuery->getStart(); $categoryQueryData['limit'] = $categoryQuery->getLimit(); $categoryQueryData['orderBy'] = $categoryQuery->getOrderBy(); $categoryQueryData['orderDirection'] = $categoryQuery->getOrderDirection(); $categoryQueryData['criterion'] = $categoryQuery->getCriterion(); return $this->gateway->getProductsGroupByCategories($productQueryData, $categoryQueryData); }
/** * The getPluginCommunityData function returns the community plugin data for the passed Shopware\Models\Plugin\Plugin * object. * * @param $plugin \Shopware\Models\Plugin\Plugin * @return array|\Shopware_StoreApi_Core_Response_SearchResult */ public function getPluginCommunityData($plugin) { $query = new Shopware_StoreApi_Models_Query_Product(); $query->setLimit(1); $query->addCriterion( new Shopware_StoreApi_Models_Query_Criterion_PluginName($plugin->getName()) ); $resultSet = $this->getProductService()->getProducts($query); if ($resultSet instanceof Shopware_StoreApi_Exception_Response) { return array('message' => $resultSet->getMessage(), 'code' => $resultSet->getCode()); } else { return $resultSet->getIterator()->current()->getRawData(); } }
/** * @param array $plugins * @param integer $version * @return \Shopware_StoreApi_Core_Response_SearchResult | \Shopware_StoreApi_Exception_Response */ private function getProductsByNameAndVersion($plugins, $version) { // Construct API query $productQuery = new \Shopware_StoreApi_Models_Query_Product(); $productQuery->addCriterion(new \Shopware_StoreApi_Models_Query_Criterion_PluginName($plugins)); $productQuery->addCriterion(new \Shopware_StoreApi_Models_Query_Criterion_Version($version)); return $this->productService->getProducts($productQuery); }
/** * Get plugin infos for a list of plugin names * * @param array $plugins * @return array */ public function getPluginInfos($plugins) { // Construct API query $productService = $this->getApi()->getProductService(); $productQuery = new Shopware_StoreApi_Models_Query_Product(); $productQuery->addCriterion(new Shopware_StoreApi_Models_Query_Criterion_PluginName($plugins)); $resultSet = $productService->getProducts($productQuery); if ($resultSet instanceof Shopware_StoreApi_Exception_Response) { // If an empty result is returned, non of the passed plugins was compatible if ($resultSet->getCode() == 200) { return array('success' => true, 'data' => array(), 'total' => 0); } else { return array('success' => false, 'message' => $resultSet->getMessage(), 'code' => $resultSet->getCode()); } } else { return array('success' => true, 'data' => $resultSet, 'total' => count($resultSet)); } }