[[!getPage? &element=`getResourcesLatestFirst` &parent=`5` &tpl=`resourcelist` &limit=`10`]] <div class="pageNav">[[!+page.nav]]</div>
<?php
$page = $modx->getOption('page', $_REQUEST, 1);
$parent = $modx->getOption('parent', $scriptProperties, $modx->resource->get('id'));
$outputSeparator = $modx->getOption('outputSeparator', $scriptProperties, '');
$limit = isset($limit) ? (integer)$limit : 5;
$offset = isset($offset) ? (integer)$offset - $limit : 0;
$totalVar = !empty($totalVar) ? $totalVar : 'total';
$childs = $modx->getChildIds($parent);
$where = array();
$where['isfolder'] = '0';
$where['id:IN'] = $childs;
$where['deleted'] = '0';
$where['published'] = '1';
//get the latest 10
$c = $modx->newQuery('modResource');
$c->select($modx->getSelectColumns('modResource'));
$c->where($where);
$c->sortby('publishedon','DESC');
$modx->setPlaceholder($totalVar, $modx->getCount('modResource', $c));
$c->limit($limit);
$output = array();
if ($collection = $modx->getCollection('modResource', $c)) {
foreach ($collection as $object) {
$latestids[] = $object->get('id');
if ($page < 2) {
$row = $object->toArray();
$output[] = $modx->getChunk($tpl, $row);
}
}
}
if ($page > 1) {
//get the other ones
$where['id:IN'] = array_diff($childs, $latestids);
$c = $modx->newQuery('modResource');
$c->select($modx->getSelectColumns('modResource'));
$c->where($where);
$c->sortby('pagetitle');
$modx->setPlaceholder('total', $modx->getCount($c));
$c->limit($limit, $offset);
if ($collection = $modx->getCollection('modResource', $c)) {
foreach ($collection as $object) {
$row = $object->toArray();
$output[] = $modx->getChunk($tpl, $row);
}
}
}
return implode($outputSeperator, $output);
[[!getPage:default=`<div class="nothing_found">No results!</div>`@MyPropSet?
&elementClass=`modSnippet`
&element=`getResources`
&parents=`[[+get_parent_placeholder:is=``:then=`4`:else=`[[+get_parent_placeholder]]`]]`
&includeTVs=`1`
&includeTVList=`HotelNearTracksTV,HotelStarsTV,HotelMapTV,HotelImageTV,ShowOnHomeTV`
&tpl=`HotelListTpl`
&where=`{"template:=":6}`
[[!hotels_filter]]
&limit=`5`
]]