Skip to content

Commit 4661617

Browse files
committed
[TASK] Allow stdWrap on MM SOLR_RELATION cObject
1 parent 6939e2a commit 4661617

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

Classes/ContentObject/Relation.php

Lines changed: 11 additions & 3 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,7 +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
172+
protected function getRelatedItemsFromMMTable(
173+
string $localTableName,
174+
int $localRecordUid,
175+
array $localFieldTca,
176+
ContentObjectRenderer $parentContentObject
177+
): array
173178
{
174179
$relatedItems = [];
175180
$foreignTableName = $localFieldTca['config']['foreign_table'];
@@ -192,6 +197,7 @@ protected function getRelatedItemsFromMMTable(string $localTableName, int $local
192197
}
193198

194199
$relatedRecords = $this->getRelatedRecords($foreignTableName, ...$selectUids);
200+
$backupData = $parentContentObject->data;
195201
foreach ($relatedRecords as $record) {
196202
if (isset($foreignTableTca['columns'][$foreignTableLabelField]['config']['foreign_table'])
197203
&& !empty($this->configuration['enableRecursiveValueResolution'])
@@ -212,8 +218,10 @@ protected function getRelatedItemsFromMMTable(string $localTableName, int $local
212218
if ($this->getLanguageUid() > 0) {
213219
$record = $this->frontendOverlayService->getOverlay($foreignTableName, $record);
214220
}
215-
$relatedItems[] = $record[$foreignTableLabelField];
221+
$parentContentObject->data = $record;
222+
$relatedItems[] = $parentContentObject->stdWrap($record[$foreignTableLabelField], $this->configuration);
216223
}
224+
$parentContentObject->data = $backupData;
217225

218226
return $relatedItems;
219227
}

0 commit comments

Comments
 (0)