示例#1
0
            $output = $modx->getPlaceholder($toPlaceholder);
        } else {
            $output = $object->process($scriptProperties);
        }
    } else {
        $modx->log(modX::LOG_LEVEL_ERROR, '[pdoPage] Could not load element "' . $scriptProperties['element'] . '"');
        return '';
    }
    /** Pagination */
    $total = $modx->getPlaceholder($totalVar);
    $pageCount = !empty($scriptProperties['limit']) ? ceil($total / $scriptProperties['limit']) : 0;
    // Redirect to start if somebody specified incorrect page
    if ($page > 1 && $page > $pageCount) {
        return $pdoPage->redirectToFirst($isAjax);
    } elseif (!empty($pageCount) && $pageCount > 1) {
        $pagination = array('first' => $page > 1 && !empty($tplPageFirst) ? $pdoPage->makePageLink($url, 1, $tplPageFirst) : '', 'prev' => $page > 1 && !empty($tplPagePrev) ? $pdoPage->makePageLink($url, $page - 1, $tplPagePrev) : '', 'pages' => $pageLimit >= 7 && empty($disableModernPagination) ? $pdoPage->buildModernPagination($page, $pageCount, $url) : $pdoPage->buildClassicPagination($page, $pageCount, $url), 'next' => $page < $pageCount && !empty($tplPageNext) ? $pdoPage->makePageLink($url, $page + 1, $tplPageNext) : '', 'last' => $page < $pageCount && !empty($tplPageLast) ? $pdoPage->makePageLink($url, $pageCount, $tplPageLast) : '');
        if (!empty($pageCount)) {
            foreach (array('first', 'prev', 'next', 'last') as $v) {
                $tpl = 'tplPage' . ucfirst($v) . 'Empty';
                if (!empty(${$tpl}) && empty($pagination[$v])) {
                    $pagination[$v] = $pdoPage->pdoTools->getChunk(${$tpl});
                }
            }
        }
        $pagination = !empty($tplPageWrapper) ? $pdoPage->pdoTools->getChunk($tplPageWrapper, $pagination) : $pdoPage->pdoTools->parseChunk('', $pagination);
    }
    $data = array('output' => $output, $pageVarKey => $page, $pageCountVar => $pageCount, $pageNavVar => $pagination, $totalVar => $total);
    if (!empty($cache) || !$modx->user->id && !empty($cacheAnonymous)) {
        $pdoPage->pdoTools->setCache($data, $scriptProperties);
    }
}
示例#2
0
         $output = $modx->getPlaceholder($toPlaceholder);
     } else {
         $output = $object->process($scriptProperties);
     }
 } else {
     $modx->log(modX::LOG_LEVEL_ERROR, '[pdoPage] Could not load element "' . $scriptProperties['element'] . '"');
     return '';
 }
 /** Pagination */
 $total = $modx->getPlaceholder($totalVar);
 $pageCount = !empty($scriptProperties['limit']) ? ceil($total / $scriptProperties['limit']) : 0;
 // Redirect to start if somebody specified incorrect page
 if ($page > 1 && $page > $pageCount) {
     return $pdoPage->redirectToFirst($isAjax);
 } elseif (!empty($pageCount) && $pageCount > 1) {
     $pagination = array('first' => $page > 1 && !empty($tplPageFirst) ? $pdoPage->makePageLink($url, 1, $tplPageFirst) : '', 'prev' => $page > 1 && !empty($tplPagePrev) ? $pdoPage->makePageLink($url, $page - 1, $tplPagePrev) : '', 'pages' => $pageLimit >= 7 && empty($disableModernPagination) ? $pdoPage->buildModernPagination($page, $pageCount, $url) : $pdoPage->buildClassicPagination($page, $pageCount, $url), 'next' => $page < $pageCount && !empty($tplPageNext) ? $pdoPage->makePageLink($url, $page + 1, $tplPageNext) : '', 'last' => $page < $pageCount && !empty($tplPageLast) ? $pdoPage->makePageLink($url, $pageCount, $tplPageLast) : '');
     if (!empty($pageCount)) {
         foreach (array('first', 'prev', 'next', 'last') as $v) {
             $tpl = 'tplPage' . ucfirst($v) . 'Empty';
             if (!empty(${$tpl}) && empty($pagination[$v])) {
                 $pagination[$v] = $pdoPage->pdoTools->getChunk(${$tpl});
             }
         }
     }
     if (!empty($setMeta) && !$isAjax) {
         if ($page > 1) {
             $modx->regClientStartupHTMLBlock('<link rel="prev" href="' . $pdoPage->makePageLink($url, $page - 1) . '"/>');
         }
         if ($page < $pageCount) {
             $modx->regClientStartupHTMLBlock('<link rel="next" href="' . $pdoPage->makePageLink($url, $page + 1) . '"/>');
         }