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 {
// retrieve next site root id
$siteRootId = Utility::getSiteRoot((int) GeneralUtility::_GP('id'));
$categories = Utility::getCategoriesForSiteRoot($siteRootId);
$news = Utility::getAllNewsByCategories($categories);
$this->view->assign('docHeader', $this->docHeaderComponent->docHeaderContent());
$this->view->assign('pageUid', $pageUid);
$this->view->assign('categories', $categories);
$this->view->assign('news', $news);
}
}
......@@ -26,6 +26,7 @@ namespace SGalinski\SgNews\Service\Backend;
* 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\DocHeaderComponent;
use TYPO3\CMS\Backend\Utility\BackendUtility;
......@@ -35,6 +36,7 @@ use TYPO3\CMS\Core\Imaging\Icon;
use TYPO3\CMS\Core\Imaging\IconFactory;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Extbase\Mvc\Request;
use TYPO3\CMS\Extbase\Object\ObjectManager;
use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
/**
......@@ -118,13 +120,26 @@ class Utility {
$databaseConnection = $GLOBALS['TYPO3_DB'];
$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 = [];
/** @var array $result */
foreach ($result as $item) {
$categories[$item[0]] = $item[1];
$categories[] = $item[0];
}
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