Added Page Collection filtering support

This commit is contained in:
Andy Miller
2017-09-23 07:09:34 -06:00
parent 046b9240e4
commit 86d989a722
2 changed files with 37 additions and 0 deletions

View File

@@ -1,6 +1,8 @@
# v1.3.4
## xx/xx/2017
1. [](#new)
* Added filter support for Page collections (routable/visible/type/access/etc.)
1. [](#improved)
* Implemented `Composer\CaBundle` for SSL Certs [#1241](https://github.com/getgrav/grav/issues/1241)
* Refactored the Assets sorting logic

View File

@@ -2507,6 +2507,41 @@ class Page
}
}
// If a filter or filters are set, filter the collection...
if (isset($params['filter'])) {
foreach ((array)$params['filter'] as $type => $filter) {
switch ($type) {
case 'visible':
$collection->visible($filter);
break;
case 'non-visible':
$collection->nonVisible($filter);
break;
case 'modular':
$collection->modular($filter);
break;
case 'non-modular':
$collection->nonModular($filter);
break;
case 'routable':
$collection->routable($filter);
break;
case 'non-routable':
$collection->nonRoutable($filter);
break;
case 'type':
$collection->ofType($filter);
break;
case 'types':
$collection->ofOneOfTheseTypes($filter);
break;
case 'access':
$collection->ofOneOfTheseAccessLevels($filter);
break;
}
}
}
if (isset($params['dateRange'])) {
$start = isset($params['dateRange']['start']) ? $params['dateRange']['start'] : 0;
$end = isset($params['dateRange']['end']) ? $params['dateRange']['end'] : false;