Skip to content
Snippets Groups Projects
Commit 10ec485d authored by Torsten Oppermann's avatar Torsten Oppermann
Browse files

[TASK] Retrieving all page objects for the news

parent ea435026
No related branches found
No related tags found
1 merge request!2Feature be module
...@@ -76,9 +76,11 @@ class BackendController extends ActionController { ...@@ -76,9 +76,11 @@ class BackendController extends ActionController {
// retrieve next site root id // retrieve next site root id
$siteRootId = Utility::getSiteRoot((int) GeneralUtility::_GP('id')); $siteRootId = Utility::getSiteRoot((int) GeneralUtility::_GP('id'));
$categories = Utility::getCategoriesForSiteRoot($siteRootId); $categories = Utility::getCategoriesForSiteRoot($siteRootId);
$news = Utility::getAllNewsByCategories($categories);
$this->view->assign('docHeader', $this->docHeaderComponent->docHeaderContent()); $this->view->assign('docHeader', $this->docHeaderComponent->docHeaderContent());
$this->view->assign('pageUid', $pageUid); $this->view->assign('pageUid', $pageUid);
$this->view->assign('categories', $categories); $this->view->assign('categories', $categories);
$this->view->assign('news', $news);
} }
} }
...@@ -26,6 +26,7 @@ namespace SGalinski\SgNews\Service\Backend; ...@@ -26,6 +26,7 @@ namespace SGalinski\SgNews\Service\Backend;
* This copyright notice MUST APPEAR in all copies of the script! * This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/ ***************************************************************/
use SGalinski\SgNews\Domain\Repository\NewsRepository;
use TYPO3\CMS\Backend\Template\Components\ButtonBar; use TYPO3\CMS\Backend\Template\Components\ButtonBar;
use TYPO3\CMS\Backend\Template\Components\DocHeaderComponent; use TYPO3\CMS\Backend\Template\Components\DocHeaderComponent;
use TYPO3\CMS\Backend\Utility\BackendUtility; use TYPO3\CMS\Backend\Utility\BackendUtility;
...@@ -35,6 +36,7 @@ use TYPO3\CMS\Core\Imaging\Icon; ...@@ -35,6 +36,7 @@ use TYPO3\CMS\Core\Imaging\Icon;
use TYPO3\CMS\Core\Imaging\IconFactory; use TYPO3\CMS\Core\Imaging\IconFactory;
use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Request; use TYPO3\CMS\Extbase\Mvc\Request;
use TYPO3\CMS\Extbase\Object\ObjectManager;
use TYPO3\CMS\Extbase\Utility\LocalizationUtility; use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
/** /**
...@@ -118,13 +120,26 @@ class Utility { ...@@ -118,13 +120,26 @@ class Utility {
$databaseConnection = $GLOBALS['TYPO3_DB']; $databaseConnection = $GLOBALS['TYPO3_DB'];
$where = 'doktype = ' . self::CATEGORY_DOKTYPE . ' AND uid in (' . $childPids . ')'; $where = 'doktype = ' . self::CATEGORY_DOKTYPE . ' AND uid in (' . $childPids . ')';
$result = $databaseConnection->exec_SELECTquery('uid, title', 'pages', $where)->fetch_all(); $result = $databaseConnection->exec_SELECTquery('uid', 'pages', $where)->fetch_all();
$categories = []; $categories = [];
/** @var array $result */ /** @var array $result */
foreach ($result as $item) { foreach ($result as $item) {
$categories[$item[0]] = $item[1]; $categories[] = $item[0];
} }
return $categories; return $categories;
} }
/**
* @param array $categories
* @return array
* @throws \InvalidArgumentException
* @throws \TYPO3\CMS\Extbase\Persistence\Exception\InvalidQueryException
*/
public static function getAllNewsByCategories(array $categories = []) {
$objectManager = GeneralUtility::makeInstance(ObjectManager::class);
/** @var NewsRepository $newsRepository */
$newsRepository = $objectManager->get(NewsRepository::class);
return $newsRepository->findAllSortedNewsByCategories($categories)->toArray();
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment