/** * Returns the array of the references to CProductInfo products from the * searching result, using paginator. * * @param int $search_id Search ID * @return array A list of CProductInfo objects */ function getProdsListInSearchResult($search_id, $return_as_pids_array = false) { #modApiFunc('paginator', 'setCurrentPaginatorName', 'Catalog_Search'); $params = array('search_id' => $search_id); $params['paginator'] = null; $params['paginator'] = modApiFunc('Catalog', 'selectProductSearchResultPg', $params, PAGINATOR_ENABLE); $result = modApiFunc('Catalog', 'selectProductSearchResult', $params); if ($return_as_pids_array) { return $result; } $products_listing = array(); for ($i = 0; $i < sizeof($result); $i++) { $offset = modApiFunc('paginator', 'getCurrentPaginatorOffset'); if (!is_numeric($offset)) { $offset = 0; } $product_info = new CProductInfo($result[$i]['product_id']); $product_info->setAdditionalProductTag('N', $i + 1 + $offset); array_push($products_listing, $product_info); } $this->updateSearchResultAccessTime($search_id); return $products_listing; }
function getProductListByFilter($obj_params, $return_as = RETURN_AS_ID_LIST) { if (_is_a($obj_params, 'PRODUCT_LIST_PARAMS') == false) { die("ERROR: " . __CLASS__ . '::' . __FUNCTION__ . ' First param $obj_params must be an object of PRODUCT_LIST_PARAMS class.'); } $result = execQuery('SELECT_PRODUCT_LIST', $obj_params->getParams()); if ($return_as == RETURN_AS_ID_LIST) { return $result; } // return result as CProductInfo objects array $products_listing = array(); for ($i = 0; $i < sizeof($result); $i++) { $offset = 0; if ($obj_params->use_paginator) { $offset = modApiFunc('paginator', 'getCurrentPaginatorOffset'); } if (!is_numeric($offset)) { $offset = 0; } $product_info = new CProductInfo($result[$i]['product_id']); $product_info->setAdditionalProductTag('N', $i + 1 + $offset); array_push($products_listing, $product_info); } return $products_listing; }