public function resolveDependencies($data)
{
$dependencies = [];
if ($data instanceof Object\Fieldcollection) {
foreach ($data as $item) {
if (!$item instanceof Object\Fieldcollection\Data\AbstractData) {
continue;
}
try {
$collectionDef = Object\Fieldcollection\Definition::getByKey($item->getType());
} catch (\Exception $e) {
continue;
}
foreach ($collectionDef->getFieldDefinitions() as $fd) {
$getter = "get" . ucfirst($fd->getName());
$dependencies = array_merge($dependencies, $fd->resolveDependencies($item->{$getter}()));
}
}
}
return $dependencies;
}