diff --git a/Classes/Xclasses/RecordLocalizeSummaryModifier.php b/Classes/Xclasses/RecordLocalizeSummaryModifier.php
index 79a5162f..49037dd4 100644
--- a/Classes/Xclasses/RecordLocalizeSummaryModifier.php
+++ b/Classes/Xclasses/RecordLocalizeSummaryModifier.php
@@ -15,6 +15,8 @@
use B13\Container\Tca\Registry;
use TYPO3\CMS\Core\Database\Connection;
use TYPO3\CMS\Core\Database\ConnectionPool;
+use TYPO3\CMS\Core\Database\Query\QueryBuilder;
+use TYPO3\CMS\Core\Database\Query\Restriction\DeletedRestriction;
use TYPO3\CMS\Core\SingletonInterface;
use TYPO3\CMS\Core\Utility\GeneralUtility;
@@ -101,7 +103,7 @@ protected function getContainerUids(array $uids): array
if (empty($containerCTypes)) {
return [];
}
- $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tt_content');
+ $queryBuilder = $this->getQueryBuilder();
return (array)$queryBuilder->select('uid')
->from('tt_content')
->where(
@@ -121,7 +123,7 @@ protected function getContainerUids(array $uids): array
protected function getContainerChildren(array $uids): array
{
$containerChildren = [];
- $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tt_content');
+ $queryBuilder = $this->getQueryBuilder();
$stm = $queryBuilder->select('*')
->from('tt_content')
->where(
@@ -140,4 +142,13 @@ protected function getContainerChildren(array $uids): array
}
return $containerChildren;
}
+
+ protected function getQueryBuilder(): QueryBuilder
+ {
+ $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tt_content');
+ $queryBuilder->getRestrictions()
+ ->removeAll()
+ ->add(GeneralUtility::makeInstance(DeletedRestriction::class));
+ return $queryBuilder;
+ }
}
diff --git a/Tests/Functional/Xclasses/Fixtures/hidden_child_record.xml b/Tests/Functional/Xclasses/Fixtures/hidden_child_record.xml
new file mode 100644
index 00000000..53629d10
--- /dev/null
+++ b/Tests/Functional/Xclasses/Fixtures/hidden_child_record.xml
@@ -0,0 +1,9 @@
+
+
+
+ 1
+ header
+ 2
+ 1
+
+
diff --git a/Tests/Functional/Xclasses/Fixtures/hidden_container_record.xml b/Tests/Functional/Xclasses/Fixtures/hidden_container_record.xml
new file mode 100644
index 00000000..352827c6
--- /dev/null
+++ b/Tests/Functional/Xclasses/Fixtures/hidden_container_record.xml
@@ -0,0 +1,8 @@
+
+
+
+ 1
+ b13-2cols-with-header-container
+ 1
+
+
diff --git a/Tests/Functional/Xclasses/RecordLocalizeSummaryModifierTest.php b/Tests/Functional/Xclasses/RecordLocalizeSummaryModifierTest.php
index a13e4059..85e05a38 100644
--- a/Tests/Functional/Xclasses/RecordLocalizeSummaryModifierTest.php
+++ b/Tests/Functional/Xclasses/RecordLocalizeSummaryModifierTest.php
@@ -38,4 +38,33 @@ public function getContainerUidsReturnsAllUids(): void
$containerUids = $recordLocalizeSummeryModifier->_call('getContainerUids', [1, 2]);
self::assertSame(2, count($containerUids));
}
+
+ /**
+ * @test
+ */
+ public function getContainerChildrenReturnsHiddenRecords(): void
+ {
+ $this->importDataSet(ORIGINAL_ROOT . 'typo3conf/ext/container/Tests/Functional/Xclasses/Fixtures/hidden_child_record.xml');
+ $recordLocalizeSummeryModifier = $this->getAccessibleMock(
+ RecordLocalizeSummaryModifier::class,
+ ['foo']
+ );
+ $containerChildren = $recordLocalizeSummeryModifier->_call('getContainerChildren', [1]);
+ self::assertTrue(isset($containerChildren[1]));
+ self::assertIsArray($containerChildren[1]);
+ }
+
+ /**
+ * @test
+ */
+ public function getContainerUidsReturnsHiddenUids(): void
+ {
+ $this->importDataSet(ORIGINAL_ROOT . 'typo3conf/ext/container/Tests/Functional/Xclasses/Fixtures/hidden_container_record.xml');
+ $recordLocalizeSummeryModifier = $this->getAccessibleMock(
+ RecordLocalizeSummaryModifier::class,
+ ['foo']
+ );
+ $containerUids = $recordLocalizeSummeryModifier->_call('getContainerUids', [1]);
+ self::assertSame([1], $containerUids);
+ }
}