Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

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.

Upgrading SilverStripe /

Ask questions about upgrading SilverStripe to the latest version.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Removing stuff from backend


Go to End


8 Posts   5224 Views

Avatar
yurigoul

Community Member, 203 Posts

17 September 2012 at 4:18am

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!

Avatar
Willr

Forum Moderator, 5523 Posts

22 September 2012 at 5:23pm

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.

Avatar
yurigoul

Community Member, 203 Posts

22 September 2012 at 8:02pm

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).

Avatar
camfindlay

Forum Moderator, 267 Posts

3 October 2012 at 11:44am

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?

Avatar
LinseyM

Community Member, 99 Posts

22 January 2013 at 1:24am

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");

Avatar
kinglozzer

Community Member, 187 Posts

22 January 2013 at 6:47am

Linsey, not 100% sure on this one but try:

$fields->removeByName("Admin");

Avatar
yurigoul

Community Member, 203 Posts

22 January 2013 at 7:08am

Did you try it with editing CMSMain_Content.ss ?

Avatar
LinseyM

Community Member, 99 Posts

22 January 2013 at 8:22am

$fields->removeByName("Admin");

That did it.... cheers! :-)