Source of file LivetickerCategory.php
Size: 1,509 Bytes - Last Modified: 2021-12-23T10:51:27+00:00
/var/www/docs.ssmods.com/process/src/src/Models/LivetickerCategory.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | <?php namespace TheWebmen\Liveticker\Models; use SilverStripe\Forms\GridField\GridFieldConfig_RecordViewer; use SilverStripe\ORM\DataObject; use SilverStripe\View\Parsers\URLSegmentFilter; use TheWebmen\Liveticker\Pages\LivetickerPage; class LivetickerCategory extends DataObject { private static $singular_name = 'Category'; private static $plural_name = 'Categories'; private static $table_name = 'LivetickerCategory'; private static $db = [ 'Title' => 'Varchar(255)', 'Slug' => 'Varchar(255)' ]; private static $has_one = [ 'Page' => LivetickerPage::class ]; private static $has_many = [ 'Messages' => LivetickerMessage::class ]; private static $summary_fields = [ 'Title' ]; public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName('PageID'); $fields->removeByName('Slug'); $messagesField = $fields->dataFieldByName('Messages'); if($messagesField){ $messagesField->setConfig(GridFieldConfig_RecordViewer::create()); } return $fields; } public function onBeforeWrite() { parent::onBeforeWrite(); $filter = new URLSegmentFilter(); $this->Slug = $filter->filter($this->Title); } public function canView($member = null) { return true; } public function Link(){ return $this->Page()->Link() . '?category=' . $this->Slug; } } |