/**
  * {@inheritDoc}
  */
 public function getBreadcrumbElements(EnvironmentInterface $environment, $elements)
 {
     if (!isset($this->filterId)) {
         $this->filterId = $this->extractIdFrom($environment, 'pid');
     }
     if (!isset($this->metamodelId)) {
         $parent = $this->getDatabase()->prepare('SELECT id, pid, name FROM tl_metamodel_filter WHERE id=?')->execute($this->filterId);
         $this->metamodelId = $parent->pid;
     }
     $filterSetting = $this->getFilter();
     $elements = parent::getBreadcrumbElements($environment, $elements);
     $elements[] = array('url' => $this->generateUrl('tl_metamodel_filtersetting', $this->seralizeId('tl_metamodel_filter', $this->filterId)), 'text' => sprintf($this->getBreadcrumbLabel($environment, 'tl_metamodel_filtersetting'), $filterSetting->name), 'icon' => $this->getBaseUrl() . '/system/modules/metamodels/assets/images/icons/filter_setting.png');
     return $elements;
 }
Exemple #2
0
 /**
  * Register the events for table tl_metamodel_filter.
  *
  * @return void
  */
 public function registerTableMetaModelFilterEvents()
 {
     $serviceContainer = $this->getServiceContainer();
     $this->addListener(GetBreadcrumbEvent::NAME, function (GetBreadcrumbEvent $event) use($serviceContainer) {
         if ($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel_filter') {
             return;
         }
         $subscriber = new BreadCrumbFilter($serviceContainer);
         $subscriber->getBreadcrumb($event);
     });
 }