public function getForWebserviceExport($object, $params = [])
{
$data = $this->getDataFromObjectParam($object, $params);
$wsData = [];
if ($data instanceof Object\Fieldcollection) {
foreach ($data as $item) {
if (!$item instanceof Object\Fieldcollection\Data\AbstractData) {
continue;
}
$wsDataItem = new Webservice\Data\Object\Element();
$wsDataItem->value = [];
$wsDataItem->type = $item->getType();
try {
$collectionDef = Object\Fieldcollection\Definition::getByKey($item->getType());
} catch (\Exception $e) {
continue;
}
foreach ($collectionDef->getFieldDefinitions() as $fd) {
$el = new Webservice\Data\Object\Element();
$el->name = $fd->getName();
$el->type = $fd->getFieldType();
$el->value = $fd->getForWebserviceExport($item, $params);
if ($el->value == null && self::$dropNullValues) {
continue;
}
$wsDataItem->value[] = $el;
}
$wsData[] = $wsDataItem;
}
}
return $wsData;
}