/** * {@inheritdoc} */ public function buildJumpToUrlFor(IItem $item) { $information = $this->determineJumpToInformation(); if (empty($information['pageDetails'])) { return array(); } $result = $information; $parameters = ''; $parameterList = array(); if (!empty($information['filterSetting'])) { /** @var \MetaModels\Filter\Setting\ICollection $filterSetting */ $filterSetting = $information['filterSetting']; $parameterList = $filterSetting->generateFilterUrlFrom($item, $this); foreach ($parameterList as $strKey => $strValue) { if ($strKey == 'auto_item') { $parameters = '/' . $strValue . $parameters; } else { $parameters .= sprintf('/%s/%s', $strKey, $strValue); } } } $result['params'] = $parameterList; $result['deep'] = strlen($parameters) > 0; $event = new GenerateFrontendUrlEvent($information['pageDetails'], $parameters, $information['language']); $this->metaModel->getServiceContainer()->getEventDispatcher()->dispatch(ContaoEvents::CONTROLLER_GENERATE_FRONTEND_URL, $event); $result['url'] = $event->getUrl(); return $result; }