Pimcore\Model\Object\ClassDefinition\Data\Classificationstore::getForWebserviceExport PHP Метод

getForWebserviceExport() публичный Метод

public getForWebserviceExport ( AbstractObject $object, mixed $params = [] )
$object Pimcore\Model\Object\AbstractObject
$params mixed
    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;
        }
    }