/** * Register all listeners to handle creation of a data container. * * @return void */ protected function registerEventsInDispatcher() { $serviceContainer = $this->getServiceContainer(); $this->addListener(GetBreadcrumbEvent::NAME, function (GetBreadcrumbEvent $event) use($serviceContainer) { if ($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel') { return; } $subscriber = new BreadCrumbMetaModels($serviceContainer); $subscriber->getBreadcrumb($event); })->addListener(GetOperationButtonEvent::NAME, array($this, 'getOperationButton'))->addListener(GetGlobalButtonEvent::NAME, array($this, 'getGlobalButton'))->addListener(ModelToLabelEvent::NAME, array($this, 'modelToLabel'))->addListener(PostPersistModelEvent::NAME, array($this, 'handleUpdate'))->addListener(PreDeleteModelEvent::NAME, array($this, 'handleDelete'))->addListener(DecodePropertyValueForWidgetEvent::NAME, array($this, 'fixLanguageLangArray'))->addListener(EncodePropertyValueFromWidgetEvent::NAME, array($this, 'unfixLanguageLangArray'))->addListener(EncodePropertyValueFromWidgetEvent::NAME, array($this, 'ensureTableNamePrefix')); }
/** * {@inheritDoc} */ public function getBreadcrumbElements(EnvironmentInterface $environment, $elements) { if (!isset($this->metamodelId)) { $this->metamodelId = $this->extractIdFrom($environment, 'pid'); } $elements = parent::getBreadcrumbElements($environment, $elements); $elements[] = array('url' => $this->generateUrl('tl_metamodel_dca_combine', $this->seralizeId('tl_metamodel', $this->metamodelId), true), 'text' => sprintf($this->getBreadcrumbLabel($environment, 'tl_metamodel_dca_combine'), $this->getMetaModel()->getName()), 'icon' => $this->getBaseUrl() . '/system/modules/metamodels/assets/images/icons/dca_combine.png'); return $elements; }
/** * {@inheritDoc} */ public function getBreadcrumbElements(EnvironmentInterface $environment, $elements) { $input = $environment->getInputProvider(); if (!$this->isActiveTable('tl_metamodel_filter', $input)) { $this->filterId = $this->extractIdFrom($environment, 'pid'); } else { $this->metamodelId = $this->extractIdFrom($environment, 'pid'); } if (!isset($this->metamodelId)) { $this->metamodelId = $this->getFilter()->pid; } $elements = parent::getBreadcrumbElements($environment, $elements); $elements[] = array('url' => $this->generateUrl('tl_metamodel_filter', $this->seralizeId('tl_metamodel', $this->metamodelId)), 'text' => sprintf($this->getBreadcrumbLabel($environment, 'tl_metamodel_filter'), $this->getMetaModel()->getName()), 'icon' => $this->getBaseUrl() . '/system/modules/metamodels/assets/images/icons/filter.png'); return $elements; }