Jump to:

17452 Posts in 4473 Topics by 1971 members

Archive

SilverStripe Forums » Archive » How do I get the Page Type of the Parent.

Our old forums are still available as a read-only archive.

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

Page: 1
Go to End
Author Topic: 3915 Views
  • micahsheets
    Avatar
    Community Member
    164 Posts

    How do I get the Page Type of the Parent. Link to this post

    I would like to know how to get the Page Type of the Parent of the current page. All my level(2) pages are of the same page type, however the parent pages are of various types. I need to make changes in the child pages based on what the parent page's page type is.

    I want to do this in the Class php file not in the template so <% control Parent %> won't work for me.

  • Sam
    Avatar
    Administrator
    679 Posts

    Re: How do I get the Page Type of the Parent. Link to this post

    <% control Parent %> just calls $this->Parent() if that method exists, or $this->Parent if the method doesn't.

    So, to do what you want, use:

    $this->Parent()->ClassName

  • micahsheets
    Avatar
    Community Member
    164 Posts

    Re: How do I get the Page Type of the Parent. Link to this post

    Thank you for your answer. I am still trying to get a handle on PHP classes and how inheritance works. I assume that $this is a reference to the current page being displayed. However it seems that if I get the value of $this in the page, it is different than if I get the value in the page_controller. In the case of

    $this->Parent()->ClassName

    ,

    do I call it in the page or controller and why?

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