Respect eneable fields in custom page repository when appropriate
This commit is contained in:
@@ -83,7 +83,7 @@ class ConceptController extends ActionController
|
|||||||
$excludedConceptUids = GeneralUtility::trimExplode(',', $this->settings['excludedConceptUids'], true);
|
$excludedConceptUids = GeneralUtility::trimExplode(',', $this->settings['excludedConceptUids'], true);
|
||||||
$limit = $this->settings['showMoreLink'] ? 4 : 0;
|
$limit = $this->settings['showMoreLink'] ? 4 : 0;
|
||||||
$teasers = $this->productDataService->getTeasergroup($filterSettings, $excludedConceptUids, $limit);
|
$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;
|
$data = $this->configurationManager->getContentObject()->data;
|
||||||
|
|
||||||
$this->view->assignMultiple([
|
$this->view->assignMultiple([
|
||||||
|
|||||||
@@ -69,14 +69,14 @@ class BackendController extends ActionController
|
|||||||
|
|
||||||
public function initializeAction()
|
public function initializeAction()
|
||||||
{
|
{
|
||||||
$this->pageUid = (integer)GeneralUtility::_GET('id');
|
$this->pageUid = (int)GeneralUtility::_GET('id');
|
||||||
|
|
||||||
parent::initializeAction();
|
parent::initializeAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function listPagesAction()
|
public function listPagesAction()
|
||||||
{
|
{
|
||||||
$pages = $this->pageRepository->findPagesByPid($this->pageUid);
|
$pages = $this->pageRepository->findPagesByPid($this->pageUid, true);
|
||||||
|
|
||||||
$this->view->assign('pages', $pages);
|
$this->view->assign('pages', $pages);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace EP\EpTheme\Domain\Repository;
|
namespace EP\EpTheme\Domain\Repository;
|
||||||
|
|
||||||
|
use TYPO3\CMS\Core\Domain\Repository\PageRepository as CorePageRepository;
|
||||||
use TYPO3\CMS\Extbase\Persistence\Repository;
|
use TYPO3\CMS\Extbase\Persistence\Repository;
|
||||||
|
|
||||||
class PageRepository extends Repository
|
class PageRepository extends Repository
|
||||||
@@ -13,23 +14,19 @@ class PageRepository extends Repository
|
|||||||
'sorting' => 'ASC',
|
'sorting' => 'ASC',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
public function findPagesByPid(int $pid, bool $includeDisabled = false)
|
||||||
* @param int $pid
|
|
||||||
* @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface
|
|
||||||
*/
|
|
||||||
public function findPagesByPid($pid)
|
|
||||||
{
|
{
|
||||||
$query = $this->createQuery();
|
$query = $this->createQuery();
|
||||||
$query
|
$query
|
||||||
->getQuerySettings()
|
->getQuerySettings()
|
||||||
->setRespectStoragePage(false)
|
->setRespectStoragePage(false)
|
||||||
->setIgnoreEnableFields(true)
|
->setIgnoreEnableFields($includeDisabled)
|
||||||
->setIncludeDeleted(false)
|
->setIncludeDeleted(false)
|
||||||
->setRespectSysLanguage(false)
|
->setRespectSysLanguage(false)
|
||||||
;
|
;
|
||||||
$query->matching($query->logicalAnd([
|
$query->matching($query->logicalAnd([
|
||||||
$query->equals('pid', $pid),
|
$query->equals('pid', $pid),
|
||||||
$query->equals('doktype', \TYPO3\CMS\Core\Domain\Repository\PageRepository::DOKTYPE_DEFAULT)
|
$query->equals('doktype', CorePageRepository::DOKTYPE_DEFAULT)
|
||||||
]));
|
]));
|
||||||
|
|
||||||
return $query->execute();
|
return $query->execute();
|
||||||
|
|||||||
Reference in New Issue
Block a user