/**
  * Get CMS Fields
  * 
  * @return FieldList
  */
 public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $fields->removeByName('Images');
     $fields->removeFieldsFromTab('Root.Main', array('BackgroundImage'));
     $gridFieldBulkUpload = new GridFieldBulkUpload();
     $gridFieldBulkUpload->setUfSetup('setFolderName', 'GalleryImages/' . $this->ID);
     $fields->insertBefore(GridField::create('Images', 'Images', $this->Images(), GridFieldConfig_RecordEditor::create()->addComponent(new GridFieldSortableRows('SortOrder'))->addComponent($gridFieldBulkUpload)), 'ExtraClassDescriptionContainer');
     return $fields;
 }
Beispiel #2
0
 public function run()
 {
     if ($this->place === null) {
         throw new ErrorException("Не задано место блока (BlockWidget).");
     }
     $modules = null;
     if (Yii::app()->controller->idSiteModuleTemplate == null) {
         // если у контроллера не установлен свой набор виджетов
         if (Yii::app()->menu->current != null) {
             // иначе берем набор модулей меню
             $modules = Yii::app()->menu->current->getModulesByPlace($this->place);
         } else {
             // иначе пытаемся найти набор по умолчанию
             Yii::app()->controller->idSiteModuleTemplate = SiteModuleTemplate::getIdDefaultTemplate();
         }
     }
     if ($modules === null && Yii::app()->controller->idSiteModuleTemplate != null) {
         if (self::$_modules == null) {
             self::$_modules = SiteModule::model()->with(array('place' => array('condition' => 'place.id_module_template=:id_template', 'params' => array('id_template' => Yii::app()->controller->idSiteModuleTemplate)), 'phpScriptInstance.phpScript'))->findAll();
         }
         $modules = array();
         foreach (self::$_modules as $module) {
             if ($module->place->place == $this->place) {
                 $modules[] = $module;
             }
         }
     } else {
         if ($modules === null) {
             return;
         }
     }
     foreach ($modules as $module) {
         if ($module->id_php_script != null) {
             // динамический модуль
             // формируем массив с параметрами
             $params = array();
             $moduleParams = $module->phpScriptInstance->phpScript->getParametersConfig();
             foreach ($moduleParams as $paramName => $config) {
                 $params[$paramName] = $module->phpScriptInstance->getParameterValue($paramName);
             }
             $className = $module->phpScriptInstance->phpScript->import();
             $this->controller->widget($className, $params);
         } else {
             // статика
             echo $module->content;
             echo $module->html;
         }
     }
 }
 /**
  * Get CMS Fields
  * 
  * @return FieldList
  */
 public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $fields->dataFieldByName('Content')->setRows(20);
     $fields->replaceField('VideoURL', TextField::create('VideoURL', 'Video URL'));
     $fields->replaceField('RedirectPageID', TreedropdownField::create('RedirectPageID', 'Choose a redirect page', 'SiteTree'));
     $fields->dataFieldByName('Image')->setTitle('Placeholder')->setFolderName('BlockWidgetVideo/' . $this->ID . '/Images');
     $fields->insertAfter($fields->dataFieldByName('Tagline'), 'Title');
     $fields->insertAfter($fields->dataFieldByName('Content'), 'Tagline');
     $fields->insertAfter($fields->dataFieldByName('VideoURL'), 'Content');
     $fields->insertAfter($fields->dataFieldByName('ButtonText'), 'VideoURL');
     $fields->insertAfter($fields->dataFieldByName('RedirectPageID'), 'ButtonText');
     $fields->insertAfter($fields->dataFieldByName('Image'), 'RedirectPageID');
     $fields->insertAfter($fields->dataFieldByName('BackgroundImage')->setFolderName('BlockWidgetVideo/' . $this->ID . '/BackgroundImages/'), 'Image');
     return $fields;
 }