2 namespace TYPO3\CMS\Frontend\ContentObject\Menu;
41 public function collectPages($selectedCategories, $configuration, $parentObject)
43 $selectedPages = array();
44 $categoriesPerPage = array();
47 if (isset($configuration[
'relation.'])) {
48 $relationField = $parentObject->parent_cObj->stdWrap(
49 $configuration[
'relation'],
50 $configuration[
'relation.']
52 }
elseif (isset($configuration[
'relation'])) {
53 $relationField = $configuration[
'relation'];
57 foreach ($selectedCategories as $aCategory) {
66 $categoryUid = $collection->getUid();
69 foreach ($collection as $pageItem) {
70 $parentObject->getSysPage()->versionOL(
'pages', $pageItem,
true);
71 if (is_array($pageItem)) {
72 $selectedPages[$pageItem[
'uid']] = $parentObject->getSysPage()->getPageOverlay($pageItem);
74 if (!isset($categoriesPerPage[$pageItem[
'uid']])) {
75 $categoriesPerPage[$pageItem[
'uid']] = array();
77 $categoriesPerPage[$pageItem[
'uid']][] = $categoryUid;
83 foreach ($selectedPages as $uid => $pageRecord) {
84 $selectedPages[$uid][
'_categories'] = implode(
',', $categoriesPerPage[$uid]);
88 self::$sortingField = isset($configuration[
'sorting.']) ? $parentObject->getParentContentObject()->stdWrap($configuration[
'sorting'], $configuration[
'sorting.']) : $configuration[
'sorting'];
89 $order = isset($configuration[
'order.']) ? $parentObject->getParentContentObject()->stdWrap($configuration[
'order'], $configuration[
'order.']) : $configuration[
'order'];
90 $selectedPages = $this->
sortPages($selectedPages, $order);
92 return $selectedPages;
108 if (!empty(self::$sortingField)) {
110 $firstPage = current($pages);
111 if (isset($firstPage[self::$sortingField])) {
113 if (!empty($order)) {
114 $order = strtolower($order);
115 if ($order !==
'desc') {
122 CategoryMenuUtility::class,
127 if ($order ===
'desc') {
128 $pages = array_reverse($pages,
true);
144 return strnatcasecmp($pageA[self::$sortingField], $pageB[self::$sortingField]);