Bitrix Site Manager

CSaleBasket::GetList

CDBResult
CSaleBasket::GetList(
  string &by,
  string &order,
  array arFilter = array()
);

The method GetList returns a set of the basket records. The set returned is filtered by arFilter, sorted by by in the direction order.

Parameters

ParameterDescription
by Name of the field by which the list is to be sorted. The following values are possible:
  • NAME - product name (default);
  • PRODUCT_ID - product ID;
  • PRODUCT_PRICE_ID - product ID (auxiliary);
  • FUSER_ID - internal ID of the basket owner;
  • ORDER_ID - order ID;
  • CURRENCY - currency;
  • DATE_INSERT - the date the product was added;
  • DATE_UPDATE - the date the record was modified;
  • LID - the site from which the purchase originates.
order Sort order. The following values are possible:
  • asc - ascending;
  • desc - descending.
arFilter An array of the format Array("basket element parameter name"=>"filter condition" [, ...]). Filtering field can have the following values:
  • ID - record ID;
  • PRODUCT_ID - product ID;
  • PRODUCT_PRICE_ID - product ID (auxiliary);
  • FUSER_ID - internal ID of the basket owner;
  • ORDER_ID - order ID. If "NULL", only unordered records are selected;
  • CURRENCY - currency;
  • LID - the site from which the purchase originates;
  • DELAY - the product item is saved for later purchase (Y/N);
  • CAN_BUY - the product can be purchased (Y/N). This flag can be set automatically is the basket actualization callback function.

Return Values

Returns an instance of the CDBResult class containing a set of associated arrays with the following keys.

Key Description
ID The record ID.
PRODUCT_ID The product ID unique within the module.
PRODUCT_PRICE_ID The product ID (auxiliary).
PRICE Price of the product, per unit.
CURRENCY Currency of the product price.
WEIGHT Weight of the product unit.
QUANTITY Number of products.
LID The site from which the purchase originates.
DELAY Indicates the product item is saved for later purchase (Y/N).
CAN_BUY Indicates the product can be purchased (Y/N).
NAME The product name.
CALLBACK_FUNC Name of the callback function used to maintain the basket actuals.
MODULE Module adding the product to the basket.
NOTES Other special notes.
ORDER_CALLBACK_FUNC Name of the ordering process callback function.
DETAIL_PAGE_URL URL of the page with the product details.
FUSER_ID The internal ID of the basket owner (not the same as the user ID).
ORDER_ID The ID of the sale order containing this record (product). If a product is in the basket but is not ordered yet, this field is NULL.
DATE_INSERT The date the product was added.
DATE_UPDATE The date the record was modified.
DISCOUNT_PRICE Discount for the product. Valid only upon ordering.

Example



<?
// Display the actual basket of the current user
// (implemented by the API function GetBasketList())

// initialise the basket owner internal ID
CSaleBasket::Init(false);

// Result array
$arRes = array();

// Select all active but not ordered records 
// of the current owner for the current site
$db_res = CSaleBasket::GetList(($by="NAME"), ($order="ASC"), 
                               array("FUSER_ID"=>$_SESSION["SALE_USER_ID"], 
                                     "LID"=>SITE_ID, "ORDER_ID"=>"NULL"));

while ($ar_res = $db_res->GetNext())
{
    // If the callback function is specified...
   if (strlen($ar_res["CALLBACK_FUNC"])>0)
   {
        // Update the basket parameters by calling the callback function
        CSaleBasket::UpdatePrice($ar_res["ID"], 
                                 $ar_res["CALLBACK_FUNC"], 
                                 $ar_res["MODULE"], 
                                 $ar_res["PRODUCT_ID"], 
                                 $ar_res["QUANTITY"]);
        // Query an array of newly actual parameters
        $ar_res = CSaleBasket::GetByID($ar_res["ID"]);
   }
   $arRes[] = $ar_res;
}

// Display the actual basket information
echo "<pre>";
print_r($arRes);
echo "</pre>";
?>