public function getForWebserviceExport($object, $params = [])
{
/** @var $data Object\Classificationstore */
$data = $this->getDataFromObjectParam($object, $params);
if ($data) {
if ($this->isLocalized()) {
$validLanguages = Tool::getValidLanguages();
} else {
$validLanguages = [];
}
array_unshift($validLanguages, "default");
$result = [];
$activeGroups = [];
$items = $data->getActiveGroups();
if (is_array($items)) {
foreach ($items as $groupId => $groupData) {
$groupDef = Object\Classificationstore\GroupConfig::getById($groupId);
$activeGroups[] = ["id" => $groupId, "name" => $groupDef->getName() . " - " . $groupDef->getDescription(), "enabled" => $groupData];
}
}
$result["activeGroups"] = $activeGroups;
$items = $data->getItems();
foreach ($items as $groupId => $groupData) {
$groupResult = [];
foreach ($groupData as $keyId => $keyData) {
$keyConfig = Object\Classificationstore\DefinitionCache::get($keyId);
$fd = Object\Classificationstore\Service::getFieldDefinitionFromKeyConfig($keyConfig);
$context = ["containerType" => "classificationstore", "fieldname" => $this->getName(), "groupId" => $groupId, "keyId" => $keyId];
foreach ($validLanguages as $language) {
$value = $fd->getForWebserviceExport($object, ["context" => $context, "language" => $language]);
$groupResult[$language][] = ["id" => $keyId, "name" => $keyConfig->getName(), "description" => $keyConfig->getDescription(), "value" => $value];
}
}
if ($groupResult) {
$groupDef = Object\Classificationstore\GroupConfig::getById($groupId);
$groupResult = ["id" => $groupId, "name" => $groupDef->getName() . " - " . $groupDef->getDescription(), "keys" => $groupResult];
}
$result["groups"][] = $groupResult;
}
return $result;
}
}