mirror of
https://github.com/getgrav/grav.git
synced 2026-03-05 03:51:50 +01:00
Added Page Collection filtering support
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user