This question has been answered by BobRay. See the first response.
$outerTpl = $modx->getOption('extUserOuterTpl', $sp, 'extUserOuterTpl'); $innerTpl = $modx->getOption('extUserInnerTpl', $sp, 'extUserInnerTpl'); $rowTpl = $modx->getOption('extUserRowTpl', $sp, 'extUserRowTpl'); $sortBy = $modx->getOption('sortby', $sp, 'username'); $sortDir = $modx->getOption('sortdir', $sp, 'ASC'); $limit = $modx->getOption('limit', $sp, 'null', true); $offset = $modx->getOption('offset', $sp, 'null', true); //new $offset = ($offset === null) ? 0 : (int) $offset; //new $c = $modx->newQuery($userClass); $c->sortby($sortBy, $sortDir); $c->where($where); if ($limit !== null) { $c->limit($limit, $offset); // changed } $users = $modx->getCollectionGraph($userClass, '{"Profile":{},"User":{}}', $c);
$sortBy = $modx->getOption('sortby', $sp, 'username'); $sortDir = $modx->getOption('sortdir', $sp, 'ASC'); $limit = $modx->getOption('limit', $sp, 'null', true);//new $offset = $modx->getOption('offset', $sp, 0, true); //new $element = $modx->getOption('element', $sp, 'null', true); //new
$c = $modx->newQuery($userClass); $c->sortby($sortBy, $sortDir); $c->where($where); if ($element == 'GetExtUsers'){//new $totalUsers = $modx->getCollectionGraph($userClass, '{"Profile":{},"User":{}}', $c);//new $total = count($totalUsers); // new $c->limit($limit, $offset); //new }//new
$modx->setPlaceholder($totalVar,$total); //new if (!empty($toPlaceholder)) { //new $modx->setPlaceholder($toPlaceholder, $output); //new } else { //new return $output; //new } //new
[[!PdoPage? &element=`GetExtUsers` &toPlaceholder=`pdoPageUsers` &where=`[[!+your.search_filters]]` &sortby=`userdata_id` &sortdir=`DESC` &limit=`[[++adverts_per_page]]` &maxLimit=`[[++adverts_max_limit]]` &page=`1` &pageLimit=`10` &tplPage=`@INLINE <li><a href="[[+href]]" title="">[[+pageNo]]</a></li>` &tplPageWrapper=`@INLINE <div class="pagination"><ul class="pagination">[[+first]][[+prev]][[+pages]][[+next]][[+last]]</ul></div>` &itplPageActive=`@INLINE <li class="active"><a href="[[+href]]" title="">[[+pageNo]]</a></li>` &tplPageFirst=`@INLINE <li class="control"><a href="[[+href]]" title="">[[%adverts_firstpage]]</a></li>` &tplPageLast=`@INLINE <li class="control"><a href="[[+href]]" title="">[[%adverts_lastpage]]</a></li>` &tplPagePrev=`@INLINE <li class="control"><a href="[[+href]]" title="">«</a></li>` &tplPageNext=`@INLINE <li class="control"><a href="[[+href]]" title="">»</a></li>` &tplPageSkip=`@INLINE <li class="disabled"><span>...</span></li>` &tplPageFirstEmpty=`@INLINE <li class="disabled"><span>[[%adverts_firstpage]]</span></li>` &tplPageLastEmpty=`@INLINE <li class="disabled"><span>[[%adverts_lastpage]]</span></li>` &tplPagePrevEmpty=`@INLINE <li class="disabled"><span>«</span></li>` &tplPageNextEmpty=`@INLINE <li class="disabled"><span>»</span></li>` ]]
<ul> <li>Total Users Found: [[!+page.total]]</li> <li>Pages: [[!+pageCount]]</li> </ul> [[!+page.nav]] <ul> [[!+pdoPageUsers]] </ul> <ul> <li>Total Users Found: [[!+page.total]]</li> <li>Pages: [[!+pageCount]]</li> </ul> [[!+page.nav]]
$limit = $modx->getOption('limit', $sp, 0, true);//new $offset = $modx->getOption('offset', $sp, 0, true); //new
// if ($limit !== null) {// removed $c->limit($limit, $offset); //new // } // removed
$total = $modx->getCount($userClass, $c);