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.

Customising the CMS /

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

Tab extension on children pages


Go to End


4 Posts   1448 Views

Avatar
Paco728

Community Member, 28 Posts

16 July 2011 at 5:32am

Edited: 16/07/2011 5:39am

Hey Guys,

I would like that the table created is not seen on the children pages. This is the tab:

static $has_one = array(
'Logo1' => 'Image',
'Logo2' => 'Image'
);

function getCMSFields() {
$fields = parent::getCMSFields();
$fields->addFieldToTab("Root.Content.Logo", new ImageField('Logo1'));
$fields->addFieldToTab("Root.Content.Logo", new ImageField('Logo2'));
return $fields;
}

Avatar
zenmonkey

Community Member, 545 Posts

21 July 2011 at 6:55am

Depending on the site structure you could always just wrap the $fields->addFieldToTab line an if statement.

if(getParent()=="root"){
insert $field code
}

or

if(getParentType() == "YouParentClass") {
insert $field code
}

Avatar
Paco728

Community Member, 28 Posts

24 July 2011 at 3:23pm

It is a good alternative. Although already resolved it using SiteTree:getCMSFields (); instead of Parent:getCMSFields ();.

I'm not sure if this correct this but gave gave me good results:).

Avatar
Sam

Administrator, 690 Posts

5 August 2011 at 10:11am

Zenmonkey's solution sounds like it would be the more reliable one, so if you run into problems in the future you might want to try that.