From c6f2bcbc82c7b1d2053924b223db3be75b0a68f1 Mon Sep 17 00:00:00 2001 From: hethehe <105442500+hethehe@users.noreply.github.com> Date: Wed, 10 Apr 2024 17:04:56 +0200 Subject: [PATCH] make ObjectInterpreter compatible with "Advanced Many-To-Many Object Relation" Type --- .../Component/Index/Interpreter/ObjectInterpreter.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/CoreShop/Component/Index/Interpreter/ObjectInterpreter.php b/src/CoreShop/Component/Index/Interpreter/ObjectInterpreter.php index 3aa2ede636..20111cdda9 100644 --- a/src/CoreShop/Component/Index/Interpreter/ObjectInterpreter.php +++ b/src/CoreShop/Component/Index/Interpreter/ObjectInterpreter.php @@ -21,6 +21,7 @@ use CoreShop\Component\Index\Model\IndexableInterface; use CoreShop\Component\Index\Model\IndexColumnInterface; use Pimcore\Model\DataObject\AbstractObject; +use Pimcore\Model\DataObject\Data\ObjectMetadata; class ObjectInterpreter implements RelationInterpreterInterface { @@ -30,6 +31,9 @@ public function interpretRelational(mixed $value, IndexableInterface $indexable, if (is_array($value)) { foreach ($value as $v) { + if ($v instanceof ObjectMetadata) { + $v = $v->getObject(); + } if ($v instanceof AbstractObject) { $result[] = new RelationalValue($v->getId(), 'object'); } @@ -47,6 +51,9 @@ public function interpret(mixed $value, IndexableInterface $indexable, IndexColu if (is_array($value)) { foreach ($value as $v) { + if ($v instanceof ObjectMetadata) { + $v = $v->getObject(); + } if ($v instanceof AbstractObject) { $result[] = $v->getId(); }