With previous versions $fields->removeFieldFromTab('Root', 'Access'); removed the settings tab (used to be 'Access') from the interface. And some other remove tricks do also not work anymore.
Anybody found out how this can be done now?
Thnx!
This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.
Please use forum.silverstripe.org for any new questions
(announcement).
The forum archive will stick around, but will be read only.
You can also use our Slack channel
or StackOverflow to ask for help.
Check out our community overview for more options to contribute.
With previous versions $fields->removeFieldFromTab('Root', 'Access'); removed the settings tab (used to be 'Access') from the interface. And some other remove tricks do also not work anymore.
Anybody found out how this can be done now?
Thnx!
The tab names have been changed but the functions still exist
removeByName($name)
removeFieldFromTab($tab, $field)
removeFieldsFromTab($tab, $fields)
If you don't know a tab name, check the SiteTree.php getCMSFields() to see what the identifier is.
With getSettingsFields() instead of getCMSFields() you can remove the contents of the tab, but you can not remove the tab itself.
function getSettingsFields() {
$fields = parent::getSettingsFields();
$fields->removeFieldFromTab("Root", "Settings");
return $fields;
}
This results in a tab that leads to an empty page.
I managed to remove it eventually by changing CMSMain_Content.ss since that tab is hard coded there, by putting <% if $CurrentMember.inGroup(2) %> ... <% end_if %> around it (where 2 is the admin group).
Hey guys, I am having a similar issue...
I have a DataObj called "Product" which has a many_many to "Tag".
I have just replaced the default "Tag" tab with a listboxfield and placed it alongside the other product information in the Root.Main however my Root.Tags tab remains in the interface as an empty panel.
assume this is a cms issue perhaps it should be logged in the tracker?
Post hijack coming up :)
Any feedback on how to remove/hide a tab from the CMS?
I have an admin tab created in Page.php, but i don't want it to appear under Properties.php pages, so I put in the following code:
$fields->removeFieldFromTab("Root.Admin", "ShowInDropDown");
$fields->removeFieldFromTab("Root.Admin", "ShowListings");
$fields->removeFieldFromTab("Root.Admin", "CustomBanner");
$fields->removeFieldFromTab("Root.Admin", "CategoryImage");
This removed the fields, but the empty tab remains... how do I make the tab itself go away? I tried this (to no effect, understandably!)
$fields->removeByName("Root.Admin");
Linsey, not 100% sure on this one but try:
$fields->removeByName("Admin");
Did you try it with editing CMSMain_Content.ss ?
$fields->removeByName("Admin");
That did it.... cheers! :-)