Source of file ElementaryPage.php
Size: 2,292 Bytes - Last Modified: 2021-12-23T10:07:53+00:00
/var/www/docs.ssmods.com/process/src/src/Page/ElementaryPage.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | <?php namespace Symbiote\Elemental\Page; use Page; use ElementalGridFieldAddNewMultiClass; use Symbiote\Elemental\GridField\ElementalGridFieldAddNewDefinedElement; use SilverStripe\Forms\GridField\GridFieldDeleteAction; use DNADesign\Elemental\Extensions\ElementalPageExtension; use SilverStripe\ORM\FieldType\DBField; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\TextField; use Symbiote\MultiRecord\MultiRecordEditingField; /** * * * @author marcus */ class ElementaryPage extends Page { private static $table_name = 'ElementaryPage'; private static $extensions = [ElementalPageExtension::class]; public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName('Content'); // example of using multirecord editing // // if ($this->ElementalAreaID) { // $editor = MultiRecordEditingField::create('ElementEditor', 'Elements', $this->ElementalArea()->Elements(), false); // $fields->addFieldToTab('Root.Elements', $editor); // } $grid = $fields->dataFieldByName('ElementalArea'); $fields->addFieldToTab('Root.Elements', $grid); $grid->getConfig()->removeComponentsByType('ElementalGridFieldAddNewMultiClass'); $grid->getConfig()->removeComponentsByType(GridFieldDeleteAction::class); return $fields; } public function onBeforeWrite() { if ($this->ElementalAreaID) { $content = DBField::create_field('Text', $this->getElementsForSearch()); $this->Content = $content->RAW(); } parent::onBeforeWrite(); } public function getFrontendCreateFields() { $fields = FieldList::create([ TextField::create('Title') ]); return $fields; } public function getFrontEndFields($params = null) { $fields = FieldList::create([ TextField::create('Title') ]); if ($this->ID) { $elements = $this->ElementalArea()->Elements(); if ($elements && $elements->count()) { $fields->push(MultiRecordEditingField::create('Elements', 'Items', $elements, true)->setUseToggles(false)); } } return $fields; } } |