Admin_ClassController::fieldcollectionListAction PHP Метод

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

    public function fieldcollectionListAction()
    {
        $user = \Pimcore\Tool\Admin::getCurrentUser();
        $currentLayoutId = $this->getParam("layoutId");
        $list = new Object\Fieldcollection\Definition\Listing();
        $list = $list->load();
        if ($this->hasParam("allowedTypes")) {
            $filteredList = [];
            $allowedTypes = explode(",", $this->getParam("allowedTypes"));
            /** @var $type Object\Fieldcollection\Definition */
            foreach ($list as $type) {
                if (in_array($type->getKey(), $allowedTypes)) {
                    $filteredList[] = $type;
                    // mainly for objects-meta data-type
                    $layoutDefinitions = $type->getLayoutDefinitions();
                    Object\Service::enrichLayoutDefinition($layoutDefinitions, null);
                    if ($currentLayoutId == -1 && $user->isAdmin()) {
                        Object\Service::createSuperLayout($layoutDefinitions);
                    }
                }
            }
            $list = $filteredList;
        }
        $this->_helper->json(["fieldcollections" => $list]);
    }