Source of file ElementImage.php
Size: 1,884 Bytes - Last Modified: 2021-12-24T06:45:57+00:00
/var/www/docs.ssmods.com/process/src/src/Elements/ElementImage.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | <?php namespace Dynamic\Elements\Image\Elements; use DNADesign\Elemental\Models\BaseElement; use SilverStripe\AssetAdmin\Forms\UploadField; use SilverStripe\Assets\Image; use SilverStripe\ORM\FieldType\DBField; /** * Class ElementImage. */ class ElementImage extends BaseElement { /** * @var string */ private static $icon = 'font-icon-block-file'; /** * @return string */ private static $singular_name = 'Image Element'; /** * @return string */ private static $plural_name = 'Image Elements'; /** * @var string */ private static $table_name = 'ElementImage'; /** * @var array */ private static $has_one = [ 'Image' => Image::class, ]; /** * @var array */ private static $owns = [ 'Image', ]; /** * @return \SilverStripe\Forms\FieldList */ public function getCMSFields() { $fields = parent::getCMSFields(); $imageField = $fields->fieldByName('Root.Main.Image') ->setFolderName('Uploads/ElementImage') ->setAllowedFileCategories('image'); if ($imageField instanceof UploadField) { $imageField->setAllowedMaxFileNumber(1); } return $fields; } /** * @return DBHTMLText */ public function getSummary() { if ($this->Image()->exists()) { return DBField::create_field('HTMLText', $this->Image()->Name)->Summary(20); } } /** * @return array */ protected function provideBlockSchema() { $blockSchema = parent::provideBlockSchema(); $blockSchema['content'] = $this->getSummary(); return $blockSchema; } /** * @return string */ public function getType() { return _t(__CLASS__ . '.BlockType', 'Image'); } } |