MetaModels\DcGeneral\Dca\Builder\Builder::parseListSorting PHP Метод

parseListSorting() защищенный Метод

Parse the sorting part of listing configuration.
protected parseListSorting ( ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\ListingConfigInterface $listing ) : void
$listing ContaoCommunityAlliance\DcGeneral\DataDefinition\Definition\View\ListingConfigInterface The listing configuration.
Результат void
    protected function parseListSorting(ListingConfigInterface $listing)
    {
        $inputScreen = $this->getInputScreenDetails();
        $listing->setRootIcon($this->getBackendIcon($inputScreen->getIcon()));
        $definitions = $listing->getGroupAndSortingDefinition();
        foreach ($inputScreen->getGroupingAndSorting() as $information) {
            $definition = $definitions->add();
            $definition->setName($information->getName());
            if ($information->isDefault() && !$definitions->hasDefault()) {
                $definitions->markDefault($definition);
            }
            if ($information->isManualSorting()) {
                $propertyInformation = $definition->add();
                $propertyInformation->setManualSorting()->setProperty('sorting')->setSortingMode('ASC');
                // FIXME: allow selection of the manual sorting property and its direction in the backend.
            } elseif ($information->getRenderSortAttribute()) {
                $propertyInformation = $definition->add();
                $propertyInformation->setProperty($information->getRenderSortAttribute())->setSortingMode($information->getRenderSortDirection());
            }
            $groupType = $this->convertRenderGroupType($information->getRenderGroupType());
            if ($groupType !== GroupAndSortingInformationInterface::GROUP_NONE && $information->getRenderGroupAttribute()) {
                $propertyInformation = $definition->add(0);
                $propertyInformation->setProperty($information->getRenderGroupAttribute())->setGroupingMode($groupType)->setGroupingLength($information->getRenderGroupLength())->setSortingMode($information->getRenderSortDirection());
            }
        }
    }