42 public function collectPages($selectedCategories, $configuration, $parentObject)
45 $categoriesPerPage = [];
48 if (isset($configuration[
'relation.'])) {
49 $relationField = $parentObject->parent_cObj->stdWrap(
50 $configuration[
'relation'],
51 $configuration[
'relation.']
53 } elseif (isset($configuration[
'relation'])) {
54 $relationField = $configuration[
'relation'];
57 $selectedCategories = GeneralUtility::intExplode(
',', $selectedCategories,
true);
58 foreach ($selectedCategories as $aCategory) {
67 $categoryUid = $collection->getUid();
70 foreach ($collection as $pageItem) {
71 $parentObject->getSysPage()->versionOL(
'pages', $pageItem,
true);
72 if (is_array($pageItem)) {
73 $selectedPages[$pageItem[
'uid']] = $parentObject->getSysPage()->getPageOverlay($pageItem);
75 if (!isset($categoriesPerPage[$pageItem[
'uid']])) {
76 $categoriesPerPage[$pageItem[
'uid']] = [];
78 $categoriesPerPage[$pageItem[
'uid']][] = $categoryUid;
84 foreach ($selectedPages as $uid => $pageRecord) {
85 $selectedPages[$uid][
'_categories'] = implode(
',', $categoriesPerPage[$uid]);
89 self::$sortingField = isset($configuration[
'sorting.']) ? $parentObject->getParentContentObject()->stdWrap($configuration[
'sorting'], $configuration[
'sorting.']) : $configuration[
'sorting'];
90 $order = isset($configuration[
'order.']) ? $parentObject->getParentContentObject()->stdWrap($configuration[
'order'], $configuration[
'order.']) : $configuration[
'order'];
91 $selectedPages = $this->
sortPages($selectedPages, $order);
93 return $selectedPages;
109 if (!empty(self::$sortingField)) {
111 $firstPage = current($pages);
112 if (isset($firstPage[self::$sortingField])) {
114 if (!empty($order)) {
115 $order = strtolower($order);
116 if ($order !==
'desc') {
128 if ($order ===
'desc') {
129 $pages = array_reverse($pages,
true);
145 return strnatcasecmp($pageA[self::$sortingField], $pageB[self::$sortingField]);