public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName('PageBuilder'); /* ========================================= * Images =========================================*/ $fields->addFieldToTab('Root.Main', new UploadField('Image'), 'Content'); /* ========================================= * Menu Item Details =========================================*/ $fields->addFieldToTab('Root.Main', $price = new CurrencyField('Price'), 'Content'); $price->setRightTitle('To add extra price options e.g Small, Large please add a variation under the "Variations" tab above'); $fields->addFieldToTab('Root.Main', $ingredients = new HtmlEditorField('Ingredients'), 'Metadata'); $ingredients->setRows(15); /* ========================================= * Variations =========================================*/ $config = GridFieldConfig_RelationEditor::create(10); $config->addComponent(new GridFieldSortableRows('SortOrder'))->addComponent(new GridFieldDeleteAction()); $config->getComponentByType('GridFieldDataColumns')->setDisplayFields(array('Title' => 'Title', 'Price' => 'Price')); $gridField = new GridField('Variations', 'Variations', $this->owner->MenuVariations(), $config); $fields->addFieldToTab('Root.Variations', $gridField); return $fields; }