3093 Posts in 875 Topics by 654 members
|Go to End|
6 February 2013 at 1:40am
Got a question here that's stumped me.
My LocationDataExtension adds a some fields, namely address, longitude and latitude.
It applies to a number of DataObjects, however the additional CMS Fields don't show if I'm not using the inherited CMS Fields, via parent::getCMSFields.
Since a number of the objects it applies to are quite gigantic, I've used $fields = new FieldList(new TabSet('Root')); to simplify the form building (meaning I don't have to remove all the fields manually), but it seems fields added by DataExtensions won't be included this way.
Is there a way to get all fields that should be added to a DataObject via extensions and add them separately - avoiding the use of parent::getCMSFields()?
Is there perhaps a way to turn form scaffolding off on a per instance basis - allowing me to use parent::getCMSFields which would return no scaffolded fields? Or a way to remove the default scaffolded fields?
7 February 2013 at 11:44pm
The answer to this (thanks to kinglozzer on the IRC) is:
$fields = new FieldList(new TabSet('Root'));
//add your fields as normal, for example
$exterior_image = new UploadField('ExteriorImage', 'Exterior image')
So, this allows you to not use the inherited/scaffolded fields provided by parent::getCMSFields(), but also include fields added by any applicable DataExtensions.
|Go to Top|