public function filter() { $parser = $this->getParser(); $request = $this->getApplication()->getRequest(); $name = $request->get('name'); $request->set('name', '%' . serialize($name) . '%'); $response = new LiveCartSimpleXMLElement('<response datetime="' . date('c') . '"></response>'); $products = Product::getRecordSetArray('Product', $parser->getARSelectFilter(), array('Category', 'Manufacturer', 'ProductImage')); // $fieldNames = $parser->getApiFieldNames(); foreach ($products as $product) { $this->fillResponseItem($response->addChild('product'), $product); } return new SimpleXMLResponse($response); }
public function filter() { $parser = $this->getParser(); $request = $this->getApplication()->getRequest(); $name = $request->get('name'); $request->set('name', '%' . serialize($name) . '%'); $response = new LiveCartSimpleXMLElement('<response datetime="' . date('c') . '"></response>'); $selFilter = $parser->getARSelectFilter(); $selFilter->setOrder(new ARExpressionHandle('Product.ID'), 'DESC'); $selFilter->setOrder(new ARExpressionHandle('Product.name'), 'ASC'); $isEnabled = $request->get('isEnabled'); if (isset($isEnabled)) { $selFilter->mergeCondition(new EqualsCond(new ARFieldHandle('Product', 'isEnabled'), $isEnabled)); } //$selFilter->mergeCondition(new NotEqualsCond(new ARFieldHandle('Product', 'stockCount'), $isEnabled)); $products = Product::getRecordSetArray('Product', $selFilter, array('Category', 'Manufacturer', 'ProductImage')); foreach ($products as $product) { $this->fillResponseItem($response->addChild('product'), $product); } return new SimpleXMLResponse($response); }