Source of file WidgetExtension.php
Size: 1,326 Bytes - Last Modified: 2022-02-21T10:00:05+00:00
/var/www/docs.ssmods.com/process/src/src/Widgets/WidgetExtension.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | <?php namespace A2nt\CMSNiceties\Widgets; use DNADesign\Elemental\Forms\TextCheckboxGroupField; use SilverStripe\CMS\Model\SiteTree; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\TreeDropdownField; use SilverStripe\ORM\DataExtension; class WidgetExtension extends DataExtension { private static $db = [ 'ShowTitle' => 'Boolean(1)', ]; public function updateCMSFields(FieldList $fields) { parent::updateCMSFields($fields); // Add a combined field for "Title" and "Displayed" checkbox in a Bootstrap input group $fields->removeByName('ShowTitle'); $fields->replaceField( 'Title', TextCheckboxGroupField::create() ->setName('Title') ); $fields->push(TreeDropdownField::create( 'MovePageID', 'Move widget to page', SiteTree::class )); } public function onBeforeWrite() { $obj = $this->owner; $moveID = $obj->MovePageID; if ($moveID) { $page = \Page::get()->byID($moveID); if($page) { $sidebarID = $page->getField('SideBarID'); if($sidebarID) { $obj->setField('ParentID', $sidebarID); } } } parent::onBeforeWrite(); } } |