Source of file ProductDoc.php
Size: 2,310 Bytes - Last Modified: 2021-12-24T06:46:25+00:00
/var/www/docs.ssmods.com/process/src/src/docs/ProductDoc.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 | <?php namespace Dynamic\ProductCatalog\Docs; use SilverStripe\AssetAdmin\Forms\UploadField; use SilverStripe\Assets\File; use SilverStripe\Assets\Image; use SilverStripe\Forms\TextField; use SilverStripe\ORM\DataObject; class ProductDoc extends DataObject { /** * @var array */ private static $db = array( 'Name' => 'Varchar(255)', 'Title' => 'Varchar(255)', 'Content' => 'HTMLText', 'FileLink' => 'Varchar(255)', ); /** * @var array */ private static $has_one = array( 'Image' => Image::class, 'Download' => File::class, ); /** * @var string */ private static $table_name = 'ProductDoc'; /** * @var array */ private static $summary_fields = array( 'Name' => 'Name', 'Title' => 'Title', ); /** * @var array */ private static $searchable_fields = array( 'Name', 'Title', ); /** * @var string */ private static $default_sort = 'Title'; /** * @return \SilverStripe\Forms\FieldList */ public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName([ 'Products', ]); $file = UploadField::create('Download') ->setFolderName('Uploads/FileDownloads') //->setAllowedFileCategories('doc') ; $fields->addFieldsToTab('Root.Download', array( $file, TextField::create('FileLink') ->setDescription('URL of external file. will display on page if no Download is specified above.') ->setAttribute('placeholder', 'http://'), )); $fields->insertBefore( UploadField::create('Image') //->setFolderName('Uploads/ProductDocs/Images') ->setDescription('Preview image of file'), 'Content' ); return $fields; } /** * if SetClass dropdown is set, create a new instance of the new class. */ public function onAfterWrite() { parent::onAfterWrite(); if (isset($_REQUEST['SetClass'])) { $object = $this->newClassInstance($_REQUEST['SetClass']); $object->write(); } } } |