Jump to:

5540 Posts in 1738 Topics by 1224 members

Customising the CMS

SilverStripe Forums » Customising the CMS » Tab extension on children pages

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

Page: 1
Go to End
Author Topic: 889 Views
  • Paco728
    Avatar
    Community Member
    28 Posts

    Tab extension on children pages Link to this post

    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;
    }

  • zenmonkey
    Avatar
    Community Member
    528 Posts

    Re: Tab extension on children pages Link to this post

    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
    }

  • Paco728
    Avatar
    Community Member
    28 Posts

    Re: Tab extension on children pages Link to this post

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

  • Sam
    Avatar
    Administrator
    679 Posts

    Re: Tab extension on children pages Link to this post

    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.

    889 Views
Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.