Example #1
0
 /**
  * {@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;
 }