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.

Upgrading SilverStripe

Ask questions about upgrading SilverStripe to the latest version.

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

Removing stuff from backend


Reply

8 Posts   1890 Views

Avatar
yurigoul

17 September 2012 at 4:18am Community Member, 202 Posts

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

22 September 2012 at 5:23pm Forum Moderator, 5511 Posts

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

22 September 2012 at 8:02pm Community Member, 202 Posts

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

3 October 2012 at 11:44am Forum Moderator, 149 Posts

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

22 January 2013 at 1:24am Community Member, 99 Posts

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

22 January 2013 at 6:47am Community Member, 146 Posts

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

$fields->removeByName("Admin");

Avatar
yurigoul

22 January 2013 at 7:08am Community Member, 202 Posts

Did you try it with editing CMSMain_Content.ss ?

Avatar
LinseyM

22 January 2013 at 8:22am Community Member, 99 Posts

$fields->removeByName("Admin");

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