/**
  * @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);
 }
Пример #3
0
 /**
  * @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);
 }