/**
  * @param string $type
  * @return $this
  */
 public function setType($type)
 {
     parent::setType($type);
     switch ($this->type) {
         case self::TYPE_BOOL:
             $this->setValueConverter(function ($value) {
                 return CmfConfig::transBase('.item_details.field.bool.' . ($value ? 'yes' : 'no'));
             });
             break;
         case self::TYPE_IMAGE:
             $this->setRenderer(function ($field, $actionConfig, array $dataForView) {
                 return DataRendererConfig::create('cmf::details/image')->setData($dataForView);
             });
             $this->setValueConverter(function ($value, DbColumnConfig $columnConfig, array $record) {
                 if (!empty($value) && is_array($value) && !empty($value['url']) && is_array($value['url'])) {
                     if (count($value['url']) > 0) {
                         unset($value['url']['source']);
                     }
                     $images = [];
                     $translationPath = CmfConfig::getInstance()->custom_dictionary_name() . '.' . $columnConfig->getDbTableConfig()->getName() . '.item_details.field.' . $columnConfig->getName() . '_version.';
                     foreach ($value['url'] as $key => $url) {
                         $images[] = ['label' => trans($translationPath . $key), 'url' => $url];
                     }
                     return $images;
                 } else {
                     return [];
                 }
             });
             break;
     }
     return $this;
 }
Esempio n. 2
0
 /**
  * @param ItemDetailsFieldConfig $fieldConfig
  * @param ItemDetailsConfig $actionConfig
  * @param array $dataForView
  * @return $this
  */
 protected function _getDefaultFieldRendererConfig(ItemDetailsFieldConfig $fieldConfig, ItemDetailsConfig $actionConfig, array $dataForView)
 {
     $rendererConfig = DataRendererConfig::create('cmf::details/text')->setData($dataForView);
     $fieldConfig->configureDefaultRenderer($rendererConfig);
     return $rendererConfig;
 }
Esempio n. 3
0
 protected function createFieldRendererConfig()
 {
     return DataRendererConfig::create();
 }