/** * @param array $parameters * @return string */ public function createVersionsField(array $parameters) { $parameters['row'] = $this->loadRecord('tt_content', $parameters['row']['uid']); $options = array(); $defaults = $this->configurationService->getDefaults(); $preSelectedVariant = $parameters['row']['content_variant']; $preSelectedVersion = $parameters['row']['content_version']; if (CoreContentProvider::MODE_PRESELECT === $defaults['mode']) { if (TRUE === empty($preSelectedVariant)) { $preSelectedVariant = $defaults['variant']; } if (TRUE === empty($preSelectedVersion)) { $preSelectedVersion = $defaults['version']; } } $versions = $this->configurationService->getVariantVersions($parameters['row']['CType'], $preSelectedVariant); if (TRUE === is_array($versions) && 0 < count($versions)) { foreach ($versions as $version) { $icon = $this->configurationService->getIconFromVersion($preSelectedVariant, $parameters['row']['CType'], $version); $versionIcon = '<img src="' . $icon . '" alt="" /> '; $options[$version] = array($versionIcon, $version); } } return $this->renderSelectField($parameters, $options, $preSelectedVersion); }
/** * @param string $operation * @param integer $id * @param array $row * @param DataHandler $reference * @param array $removals Allows overridden methods to pass an additional array of field names to remove from the stored Flux value * @return void */ public function postProcessRecord($operation, $id, array &$row, DataHandler $reference, array $removals = array()) { $defaults = $this->configurationService->getDefaults(); if (self::MODE_RECORD === $defaults['mode']) { if (TRUE === empty($row['content_variant'])) { $row['content_variant'] = $defaults['variant']; } if (TRUE === empty($row['content_version'])) { $row['content_version'] = $defaults['version']; } } return parent::postProcessRecord($operation, $id, $row, $reference); }
/** * @param array $parameters * @return string */ public function createVersionsField(array $parameters) { $defaults = $this->configurationService->getDefaults(); $preSelectedVariant = $parameters['row']['content_variant']; $preSelectedVersion = $parameters['row']['content_version']; if (CoreContentProvider::MODE_PRESELECT === $defaults['mode']) { if (TRUE === empty($preSelectedVariant)) { $preSelectedVariant = $defaults['variant']; } if (TRUE === empty($preSelectedVersion)) { $preSelectedVersion = $defaults['version']; } } $versions = $this->configurationService->getVariantVersions($parameters['row']['CType'], $preSelectedVariant); if (TRUE === is_array($versions) && 0 < count($versions)) { $options = array_combine($versions, $versions); } else { $options = array(); } return $this->renderSelectField($parameters, $options, $preSelectedVersion); }