|
12 | 12 |
|
13 | 13 | class ContentUtility |
14 | 14 | { |
15 | | - public static function fetchContentElements(int $pid, int $languageUid): array |
| 15 | + public static function fetchContentElements(int $pid, int $languageUid, bool $includeMultilingualContent = true): array |
16 | 16 | { |
17 | 17 | $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('tt_content'); |
18 | 18 |
|
19 | | - return $queryBuilder |
| 19 | + $query = $queryBuilder |
20 | 20 | ->select('*') |
21 | 21 | ->from('tt_content') |
22 | 22 | ->where( |
23 | 23 | $queryBuilder->expr()->eq('hidden', $queryBuilder->createNamedParameter(0, Connection::PARAM_INT)), |
24 | 24 | $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(); |
29 | 42 | } |
30 | 43 |
|
31 | 44 | public static function getTranslatedRecord(string $table, int $parendUid, int $languageUid): array|bool |
|
0 commit comments