ГлавнаяБлогВывод в заголовок диапазона элементов [c 10 по 20]

Вывод в заголовок диапазона элементов [c 10 по 20]

Рамиль Юналиев
Рамиль Юналиев
E-Commerce Lead
18 октября 2010 г.
1 мин чтения

Задача заключалась в выводе диапазона текущей позиции пользователя в пагинацию и заголовок (например, "список [c 10 по 20]").

Предложенное решение использует объект $rs_Element типа arResult и функцию navigationIntervalList():

if(is_array($ar_Navigatonparams)) {
    $ar_NavParams = array(
        'NavPageNomer' => $rs_Element->NavPageNomer,
        'NavPageSize' => $rs_Element->NavPageSize,
        'NavRecordCount' => $rs_Element->NavRecordCount,
        'nEndPage' => $rs_Element->nEndPage
    );
 
    function navigationIntervalList($ar_NavParams) {
        if(isset($_REQUEST['PAGEN_1']) && intval($_REQUEST['PAGEN_1']) > 0) {
            if(intval($ar_NavParams['NavPageNomer']) > 1) {
                $_s = ($ar_NavParams['NavPageNomer'] * $ar_NavParams['NavPageSize']) - 
                      $ar_NavParams['NavPageSize'] + 1;
                $_p = $ar_NavParams['NavPageNomer'] * $ar_NavParams['NavPageSize'];
 
                if($ar_NavParams['nEndPage'] == $ar_NavParams['NavPageNomer'])
                    $_p = $ar_NavParams['NavRecordCount'];
 
                return 'список с '.$_s.' по '.$_p;
            }
        }
    }
 
    $s_nav = navigationIntervalList($ar_NavParams);
    $s_Nav = (!empty($s_nav)) ? ' / '.$s_nav : '';
    $s_Tit = (!empty($s_nav)) ? ', '.$s_nav : '';
 
    $APPLICATION->AddChainItem($s_TitleNavchain.$s_Nav);
    $APPLICATION->SetTitle($s_TitleNavchain.$s_Tit);
}