src/Render/Setting/Collection.php
public function buildJumpToUrlFor(IItem $item)
    {
        $information = $this->determineJumpToInformation();
        if (empty($information['pageDetails'])) {
            return array();
        }

        $result        = $information;
        $parameterList = [];

        $filterUrl = new FilterUrl($information['pageDetails']);
        if (!empty($information['language'])) {
            $filterUrl->setPageValue('language', $information['language']);
        }

        if (!empty($information['filterSetting'])) {
            /** @var \MetaModels\Filter\Setting\ICollection $filterSetting */
            $filterSetting = $information['filterSetting'];
            $parameterList = $filterSetting->generateFilterUrlFrom($item, $this);

            foreach ($parameterList as $strKey => $strValue) {
                // Sadly the filter values are currently encoded due to legacy reasons.
                // For MetaModels 3, they should be passed around decoded everywhere.
                $filterUrl->setSlug($strKey, rawurldecode($strValue));
            }
        }

        $result['params'] = $parameterList;
        $result['deep']   = !empty($filterUrl->getSlugParameters());

        $result['url'] = $this->filterUrlBuilder->generate($filterUrl);

        return $result;
    }
public function buildJumpToUrlFor(IItem $item)
    {
        $information = $this->determineJumpToInformation();
        if (empty($information['pageDetails'])) {
            return array();
        }

        $result        = $information;
        $parameterList = [];

        $filterUrl = new FilterUrl($information['pageDetails']);
        if (!empty($information['language'])) {
            $filterUrl->setPageValue('language', $information['language']);
        }

        if (!empty($information['filterSetting'])) {
            /** @var \MetaModels\Filter\Setting\ICollection $filterSetting */
            $filterSetting = $information['filterSetting'];
            $parameterList = $filterSetting->generateFilterUrlFrom($item, $this);

            foreach ($parameterList as $strKey => $strValue) {
                // Sadly the filter values are currently encoded due to legacy reasons.
                // For MetaModels 3, they should be passed around decoded everywhere.
                $filterUrl->setSlug($strKey, rawurldecode($strValue));
            }
        }

        $result['params'] = $parameterList;
        $result['deep']   = !empty($filterUrl->getSlugParameters());

        $result['url'] = $this->filterUrlBuilder->generate($filterUrl);

        return $result;
    }
public function buildJumpToUrlFor ( IItem $ item ) { $ information = $ this -> determineJumpToInformation ( ) ; if ( empty ( $ information [ 'pageDetails' ] ) ) { return array ( ) ; } $ result = $ information ; $ parameterList = [ ] ; $ filterUrl = new FilterUrl ( $ information [ 'pageDetails' ] ) ; if ( ! empty ( $ information [ 'language' ] ) ) { $ filterUrl -> setPageValue ( 'language' , $ information [ 'language' ] ) ; } if ( ! empty ( $ information [ 'filterSetting' ] ) ) { /** @var \MetaModels\Filter\Setting\ICollection $filterSetting */ $ filterSetting = $ information [ 'filterSetting' ] ; $ parameterList = $ filterSetting -> generateFilterUrlFrom ( $ item , $ this ) ; foreach ( $ parameterList as $ strKey => $ strValue ) { // Sadly the filter values are currently encoded due to legacy reasons. // For MetaModels 3, they should be passed around decoded everywhere. $ filterUrl -> setSlug ( $ strKey , rawurldecode ( $ strValue ) ) ; } } $ result [ 'params' ] = $ parameterList ; $ result [ 'deep' ] = ! empty ( $ filterUrl -> getSlugParameters ( ) ) ; $ result [ 'url' ] = $ this -> filterUrlBuilder -> generate ( $ filterUrl ) ; return $ result ; }
{@inheritdoc}
{