/** * Fetch the template group for the current MetaModel module. * * @param \DC_Table $objDC The data container calling this method. * * @return array * * @SuppressWarnings(PHPMD.Superglobals) * @SuppressWarnings(PHPMD.CamelCaseVariableName) */ public function getModuleTemplates(\DC_Table $objDC) { /** @noinspection PhpUndefinedFieldInspection */ $type = $objDC->activeRecord->type; $list = new TemplateList(); $list->setServiceContainer($GLOBALS['container']['metamodels-service-container']); return $list->getTemplatesForBase('mod_' . $type); }
/** * Provide options for default selection. * * @param GetPropertyOptionsEvent $event The event. * * @return void */ public function getTemplateOptions(GetPropertyOptionsEvent $event) { if ($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel_filtersetting' || $event->getPropertyName() !== 'range_template') { return; } $list = new TemplateList(); $list->setServiceContainer($this->getServiceContainer()); $event->setOptions($list->getTemplatesForBase('mm_filteritem_')); }
/** * Get frontend templates for filters. * * @return array * * @SuppressWarnings(PHPMD.Superglobals) * @SuppressWarnings(PHPMD.CamelCaseVariableName) */ public function getFilterTemplates() { $list = new TemplateList(); $list->setServiceContainer($GLOBALS['container']['metamodels-service-container']); return $list->getTemplatesForBase('mm_filter_'); }
/** * Provide options for default selection. * * @param GetPropertyOptionsEvent $event The event. * * @return void */ public function getTemplateOptions(GetPropertyOptionsEvent $event) { if ($event->getEnvironment()->getDataDefinition()->getName() !== 'tl_metamodel_rendersetting' || $event->getPropertyName() !== 'template') { return; } $model = $event->getModel(); $parentProvider = $event->getEnvironment()->getDataProvider('tl_metamodel_rendersettings'); $renderSettings = $parentProvider->fetch($parentProvider->getEmptyConfig()->setId($model->getProperty('pid'))); $metaModel = $this->getMetaModelById($renderSettings->getProperty('pid')); $attribute = $metaModel->getAttributeById($model->getProperty('attr_id')); if (!$attribute) { return; } $list = new TemplateList(); $list->setServiceContainer($this->getServiceContainer()); $event->setOptions($list->getTemplatesForBase('mm_attr_' . $attribute->get('type'))); }