Respect eneable fields in custom page repository when appropriate

This commit is contained in:
Björn Fromme
2022-08-22 10:04:54 +02:00
parent 2c26fd81e7
commit 77e776246d
3 changed files with 7 additions and 10 deletions
@@ -83,7 +83,7 @@ class ConceptController extends ActionController
$excludedConceptUids = GeneralUtility::trimExplode(',', $this->settings['excludedConceptUids'], true);
$limit = $this->settings['showMoreLink'] ? 4 : 0;
$teasers = $this->productDataService->getTeasergroup($filterSettings, $excludedConceptUids, $limit);
$pages = $this->pageRepository->findPagesByPid($this->settings['conceptsPageUid']);
$pages = $this->pageRepository->findPagesByPid((int)$this->settings['conceptsPageUid']);
$data = $this->configurationManager->getContentObject()->data;
$this->view->assignMultiple([
@@ -69,14 +69,14 @@ class BackendController extends ActionController
public function initializeAction()
{
$this->pageUid = (integer)GeneralUtility::_GET('id');
$this->pageUid = (int)GeneralUtility::_GET('id');
parent::initializeAction();
}
public function listPagesAction()
{
$pages = $this->pageRepository->findPagesByPid($this->pageUid);
$pages = $this->pageRepository->findPagesByPid($this->pageUid, true);
$this->view->assign('pages', $pages);
}
@@ -2,6 +2,7 @@
namespace EP\EpTheme\Domain\Repository;
use TYPO3\CMS\Core\Domain\Repository\PageRepository as CorePageRepository;
use TYPO3\CMS\Extbase\Persistence\Repository;
class PageRepository extends Repository
@@ -13,23 +14,19 @@ class PageRepository extends Repository
'sorting' => 'ASC',
];
/**
* @param int $pid
* @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface
*/
public function findPagesByPid($pid)
public function findPagesByPid(int $pid, bool $includeDisabled = false)
{
$query = $this->createQuery();
$query
->getQuerySettings()
->setRespectStoragePage(false)
->setIgnoreEnableFields(true)
->setIgnoreEnableFields($includeDisabled)
->setIncludeDeleted(false)
->setRespectSysLanguage(false)
;
$query->matching($query->logicalAnd([
$query->equals('pid', $pid),
$query->equals('doktype', \TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT)
$query->equals('doktype', CorePageRepository::DOKTYPE_DEFAULT)
]));
return $query->execute();