Skip to content

Commit a7e43e6

Browse files
b3nkaidkd-kaehm
authored andcommitted
[TASK] Allow stdWrap on MM SOLR_RELATION cObject
Fixes: #3408 Relates: #3152
1 parent ed3ce05 commit a7e43e6

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

Classes/ContentObject/Relation.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ protected function getRelatedItems(ContentObjectRenderer $parentContentObject):
150150
$fieldTCA = $this->tcaService->getConfigurationForField($table, $field);
151151

152152
if (isset($fieldTCA['config']['MM']) && trim($fieldTCA['config']['MM']) !== '') {
153-
$relatedItems = $this->getRelatedItemsFromMMTable($table, $overlayUid, $fieldTCA);
153+
$relatedItems = $this->getRelatedItemsFromMMTable($table, $overlayUid, $fieldTCA, $parentContentObject);
154154
} else {
155155
$relatedItems = $this->getRelatedItemsFromForeignTable($table, $overlayUid, $fieldTCA, $parentContentObject);
156156
}
@@ -169,8 +169,12 @@ protected function getRelatedItems(ContentObjectRenderer $parentContentObject):
169169
* @throws AspectNotFoundException
170170
* @throws DBALException
171171
*/
172-
protected function getRelatedItemsFromMMTable(string $localTableName, int $localRecordUid, array $localFieldTca): array
173-
{
172+
protected function getRelatedItemsFromMMTable(
173+
string $localTableName,
174+
int $localRecordUid,
175+
array $localFieldTca,
176+
ContentObjectRenderer $parentContentObject
177+
): array {
174178
$relatedItems = [];
175179
$foreignTableName = $localFieldTca['config']['foreign_table'];
176180
$foreignTableTca = $this->tcaService->getTableConfiguration($foreignTableName);
@@ -192,6 +196,7 @@ protected function getRelatedItemsFromMMTable(string $localTableName, int $local
192196
}
193197

194198
$relatedRecords = $this->getRelatedRecords($foreignTableName, ...$selectUids);
199+
$backupData = $parentContentObject->data;
195200
foreach ($relatedRecords as $record) {
196201
if (isset($foreignTableTca['columns'][$foreignTableLabelField]['config']['foreign_table'])
197202
&& !empty($this->configuration['enableRecursiveValueResolution'])
@@ -212,8 +217,10 @@ protected function getRelatedItemsFromMMTable(string $localTableName, int $local
212217
if ($this->getLanguageUid() > 0) {
213218
$record = $this->frontendOverlayService->getOverlay($foreignTableName, $record);
214219
}
215-
$relatedItems[] = $record[$foreignTableLabelField];
220+
$parentContentObject->data = $record;
221+
$relatedItems[] = $parentContentObject->stdWrap($record[$foreignTableLabelField], $this->configuration);
216222
}
223+
$parentContentObject->data = $backupData;
217224

218225
return $relatedItems;
219226
}

0 commit comments

Comments
 (0)