Bitrix Site Manager

CPage::GetDynamicList

CDBResult
CPage::GetDynamicList(
 string url,
 string &by = "s_date",
 string &order = "desc",
 array filter = array()
)

The method GetDynamicList returns information about the attendance of the specified page on daily basis.

Parameters

Parameter Description
url Full path to the page or catalog whose information is required.
by Sorting field; the following values are possible:
  • s_date - date.
order Sort order; the following values are possible:
  • asc - ascending;
  • desc - descending.
filter Array used to filter the resulting list. The following keys can be used in the array:
  • DATE1 - the earliest date and time of the time period for which the information is to be returned;
  • DATE2 - the latest date and time of the time period;
  • ADV* - the ID of the advertising campaign (AC). This field allows to return only pages or catalogs that has been viewed by visitors under the specified AC, and obtain the attendance information only for these visitors;
  • ADV_EXACT_MATCH - if "N", entry in the ADV is sufficient (loose match);
  • ADV_DATA_TYPE - tells to retrieve information depending on the visit status (applicable if filter["ADV"] is present); the following values can be used:
    • B - return information on visitors returned under the specified AC;
    • P - return information on direct-hit visitors under the specified AC.
    If none of the values is specified, the information on both returned and direct-hit visitors will be returned.

* - complex logic allowed.

Structure of the returned record

Array
(
    [DATE_STAT] => date
    [DAY] => day ordinal (1-31)
    [MONTH] => month ordinal (1-12)
    [YEAR] => year
    [COUNTER] => hit count for the page url
    [ENTER_COUNTER] => how many times the page url was the entrance point
    [EXIT_COUNTER] => how many times the page url was the exit point
)

See Also

Example



<?
$url = "http://www.bitrixsoft.com/about/index.php";

// set the filter to match December 2005
// we want direct hits under AC's 1 or 2
$arFilter = array(
    "DATE1" => "01.12.2005",
    "DATE2" => "31.12.2005",
    "ADV"   => "1 | 2",
    "ADV_DATA_TYPE" => "P"
    );

// obtain the list of records
$rs = CPage::GetDynamicList(
    $url, 
    ($by="s_date"), 
    ($order="desc"), 
    $arFilter, 
    );

// print all records
while ($ar = $rs->Fetch())
{
    echo "<pre>"; print_r($ar); echo "</pre>";    
}
?>