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.

Customising the CMS /

Tab extension on children pages


Reply


4 Posts   954 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, 532 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, 685 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.