Skip to content

Commit ebe0a7f

Browse files
author
Konrad Michalik
authored
Merge pull request #30 from xima-media/support-multilingual-content
fix: add support for multilingual content
2 parents 094604e + d1bb6aa commit ebe0a7f

1 file changed

Lines changed: 19 additions & 6 deletions

File tree

Classes/Utility/ContentUtility.php

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,33 @@
1212

1313
class ContentUtility
1414
{
15-
public static function fetchContentElements(int $pid, int $languageUid): array
15+
public static function fetchContentElements(int $pid, int $languageUid, bool $includeMultilingualContent = true): array
1616
{
1717
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tt_content');
1818

19-
return $queryBuilder
19+
$query = $queryBuilder
2020
->select('*')
2121
->from('tt_content')
2222
->where(
2323
$queryBuilder->expr()->eq('hidden', $queryBuilder->createNamedParameter(0, Connection::PARAM_INT)),
2424
$queryBuilder->expr()->eq('deleted', $queryBuilder->createNamedParameter(0, Connection::PARAM_INT)),
25-
$queryBuilder->expr()->eq('pid', $queryBuilder->createNamedParameter($pid, Connection::PARAM_INT)),
26-
$queryBuilder->expr()->eq('sys_language_uid', $queryBuilder->createNamedParameter($languageUid, Connection::PARAM_INT)),
27-
)
28-
->executeQuery()->fetchAllAssociative();
25+
$queryBuilder->expr()->eq('pid', $queryBuilder->createNamedParameter($pid, Connection::PARAM_INT))
26+
);
27+
28+
if ($includeMultilingualContent) {
29+
$query->andWhere(
30+
$queryBuilder->expr()->orX(
31+
$queryBuilder->expr()->eq('sys_language_uid', $queryBuilder->createNamedParameter(-1, Connection::PARAM_INT)),
32+
$queryBuilder->expr()->eq('sys_language_uid', $queryBuilder->createNamedParameter($languageUid, Connection::PARAM_INT))
33+
)
34+
);
35+
} else {
36+
$query->andWhere(
37+
$queryBuilder->expr()->eq('sys_language_uid', $queryBuilder->createNamedParameter($languageUid, Connection::PARAM_INT))
38+
);
39+
}
40+
41+
return $query->executeQuery()->fetchAllAssociative();
2942
}
3043

3144
public static function getTranslatedRecord(string $table, int $parendUid, int $languageUid): array|bool

0 commit comments

Comments
 (0)